【发布时间】:2009-10-06 00:52:27
【问题描述】:
我已为我公司的应用程序开发了大量单元测试,开发人员希望将我的单元测试交给我们的支持部门,以帮助他们调试客户安装问题。我使用 mstest 编写了我的单元测试,因此如果客户想要立即使用我的测试,支持人员必须在客户的机器上安装 Visual Studio,这显然是错误的做法。我研究过在命令提示符下使用不带 VS 的 mstest,但破解客户系统上的注册表以使其认为已安装 VS 也不可行。
为了解决这个问题,我计划使用 this post 中的信息为 nunit 编译我的 mstest。但是,在启用 NUnit 进行编译并将我的测试程序集 dll 添加到 NUnit 运行程序后,我收到错误消息“此程序集不是使用任何已知框架构建的。”
有没有人这样做并且有提示/技巧来让它运行?或者这是解决这个问题的完全错误的方法?谢谢。
【问题讨论】:
-
对我来说,这似乎是一个可行的“解决方案”:提取所有单元测试的核心/内容,将它们放在单独的类库解决方案中,以便能够分发它。当然,您必须将 Assert.Functions 从类库解决方案中分离出来。从单元测试代码或外部测试工具调用外部化函数。因此类库成为核心,MSTest 框架或您自己的外部测试工具成为“GUI”包装器。这当然需要一些重构/重写,但实际测试保持不变,不是吗?