2 回答
TA贡献1111条经验 获得超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);
}
``
TA贡献1818条经验 获得超8个赞
这是 Effort.DbConnectionFactory 的 CreatePersistent() 方法,我将其更改为 CreateTransient() 现在它正在工作。
- 2 回答
- 0 关注
- 165 浏览
添加回答
举报