2

是否有任何基于网络的测试运行器?从网站运行网站的单元测试?


我知道这违反了某些人的教条,但我希望能够从我正在测试的产品内部运行单元测试。无论是来自本机 Win32 可执行文件,还是来自.NET 可执行文件

一个人已经为UnitTest++编写了一个基于 Web 的 AJAX 测试运行器。

过去我不得不拆开 NUnit,所以我可以测试嵌入在可执行文件中,而不必发送 NUnit dll。这要求我还为 Windows/WinForms 编写自己的图形测试运行程序。

有没有人已经完成了为 ASP.net 创建可运行单元测试的工作?


注意:人们通常的反应是:“单元测试不应该出现在最终产品中,并且在现场时绝对不能被测试人员、支持人员或开发人员访问。”


注意:您可能不同意我运行单元测试的愿望,但不要让这影响您的答案。如果没有针对 ASP.net 的基于 Web 的 nunit 测试运行器,那么这就是答案。不要害怕回答这个问题。我不会咬人的。

4

2 回答 2

2

我认为你想做这种事情的原因是因为缺少持续集成服务器,我想不出另一个理由,所以不要试图通过这样做来修补你的设计,如果你评估一下它会更干净CI服务器的实现(这并不难,例如你可以看看:NCastor

因此,在我看来,您需要设置一个持续集成服务器,以便在您的自动化构建过程中自动运行单元测试和集成测试。

只有在构建过程和测试有效时,您才会将应用程序部署到下一个“阶段” ,您还可以配置 CI 服务器以执行:

  • 运行测试
  • 运行静态分析
  • 运行非静态分析
  • 生成测试报告
  • 使用测试覆盖率运行测试
  • 计算和设置应用程序版本
  • 创建应用程序的包
  • 根据目标阶段修改配置文件
  • 缩小你的脚本
  • 构建失败时发送电子邮件

除其他外

正如您所提到的,您不需要将测试部署到您的生产服务器

我强烈建议您阅读下一篇文章:

http://misko.hevery.com/2008/07/16/top-10-things-i-do-on-every-project/

这是一些 CI 服务器的列表

  • Jenkins - 自由和简单的配置
  • Hudson - 自由和简单的配置
  • TeamCity - 开源项目免费
  • 巡航控制- 免费(但是,由于只能通过 XML 文件进行配置,所以它的受欢迎程度有所下降,这很烦人......)
于 2012-06-10T03:47:27.887 回答
1

在 github 上找到NUnitWebRunner https://github.com/tonyx/NUnitWebRunner

于 2013-03-21T21:16:42.357 回答