单元测试Async await方法断言如果(运行所有测试)被调用但是如果我逐个运行则测试正在通过。
每种方法都没有相互依赖。
单元测试方法:
[TestMethod]
public async Task GetDataById()
{
////Act.
var output = await Service.GetDataByID(1);
////Assert.
Assert.IsNotNull(output);
////Act.
output = await Service.GetDataByID(2);
////Assert.
Assert.IsNull(output);
}
答案 0 :(得分:0)
如果你在每次测试之前有任何模拟设置,那么在每次测试之后重置那些模拟(TearDown)。
```
[TestMethod]
public async Task GetDataById()
{
////Act.
var output = await Service.GetDataByID(1);
////Assert.
Assert.IsNotNull(output);
////Act.
var output2 = await Service.GetDataByID(2); // <-- new variable
////Assert.
Assert.IsNull(output2);
}
```
```
[TestMethod]
public async Task GetDataByIdWhenExists()
{
//Act.
var output = await Service.GetDataByID(1);
////Assert.
Assert.IsNotNull(output);
}
[TestMethod]
public async Task GetDataByIdWhenNotExists()
{
//Act.
var output = await Service.GetDataByID(2);
//Assert.
Assert.IsNotNull(output);
}
```
答案 1 :(得分:0)
这是Effort.DbConnectionFactory的CreatePersistent()方法我现在将它改为CreateTransient()。
感谢帮助人员。