【发布时间】:2012-12-26 08:09:10
【问题描述】:
我正在编写一个使用 Async 库以 .NET 4.0 为目标的 VS 2012 编写的应用程序。
我的自动构建在安装了 VS 2012 和 .NET 4.5 的 TFS 2010 构建代理上运行。
我到处都读到,如果您的单元测试是异步的,它必须具有 async Task TestMethod() 签名(而不是 async void TestMethod())。
但是,当我这样做时,我的构建服务器给我该方法的错误:
用[TestMethod]属性标记的测试方法必须是非静态的、公开的、不返回值且不应带任何参数。例如:public void Test.Class1.Test()。
我已阅读this 和this 表明如果您有一个 .testsetting 文件,则可能会导致此错误。但两者都表示它们适用于 TFS/VS 2012 的 beta 版本。
另外,我需要我的测试设置文件来打开代码覆盖率。
这是 TFS 2012 唯一的事情吗? TFS 2010 Build 代理不能使用 VS 2012 来正确运行这些吗?
有没有办法在不升级到 TFS 2012 的情况下完成这项工作?(距离升级还有几个月的时间)。
【问题讨论】:
-
我认为 2010 版的 MsTest 根本不理解这些类型的测试。我希望 TFS 2010 将使用 2010 版的 MsTest(这样做有点硬)。您可以更改工作流程以显式使用新的 VS2012 测试框架,但这可能需要进行大量修改才能实际工作。
标签: .net unit-testing tfs async-await