Jac*_*cob 6 .net unit-testing asynchronous .net-4.0 visual-studio-2013
我有一套相当标准的单元测试.
[TestClass]
public class MyTestClass
{
[TestMethod]
public async Task MyClass_DoesStuff()
{
//...
await foo;
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都运行良好,但后来我需要降级到.NET 4.0.我做了必要的包安装,并把一切都建成了.但是,现在我的单位测试不再工作了.相反,我得到这些错误:
UTA007:类MyTestClass中定义的方法MyClass_DoesStuff没有正确的签名.使用[TestMethod]属性标记的测试方法必须是非静态的,public,return-type as void,不应该使用任何参数.示例:public void Test.Class1.Test().此外,如果您正在运行异步单元测试,则return-type必须为Task.示例:public async Task Test.Class1.Test2()
也许测试运行器不能识别System.Threading.Tasks.Task.NET 4.0?我安装Microsoft Async,Microsoft BCL Build Components以及Microsoft BCL Portability Pack来自的NuGet.
有没有办法让我在.NET 4.0上运行异步单元测试?
编辑:
标记为(TestMethod:async Task TestSth()不能与.NET 4.0一起使用的"重复" )是测试资源管理器中未显示的测试,而在我的情况下,我发布了错误.不重复.
最简单的解决方案是使您的单元测试项目以 .NET 4.5 为目标。这样,MSTest 将原生支持异步单元测试。
| 归档时间: |
|
| 查看次数: |
1521 次 |
| 最近记录: |