gdo*_*ica 4 c# unit-testing arrange-act-assert
在"AAA"模式中,应该写出行为数据的提取?
在法案或断言部分?
考虑这个单元测试,两个人的提取,如果它在例如示例中或在断言中?我们想为公司的所有UT制定标准.
[Test]
public void Test()
{
// Arrange
var p1 = new Person();
var p2 = new Person();
Session.Save(p1);
Session.Save(p2);
// Act
var result = new PersonQuery().GetAll();
var firstPerson = result[0];
var secondPerson = result[1];
// Assert
Assert.AreEqual(p1.Id, firstPerson.Id);
Assert.AreEqual(p2.Id, secondPerson.Id);
}
Run Code Online (Sandbox Code Playgroud)
(请在这个简单的测试中忽略,我可以写Assert.AreEqual(p1.Id, result[0].Id);)
我知道这不是一个大问题,但我仍然想知道如何做到最好.
这应该发生在Assert阶段:
[Test]
public void Test()
{
// Arrange
var p1 = new Person();
var p2 = new Person();
Session.Save(p1);
Session.Save(p2);
// Act
var result = new PersonQuery().GetAll();
// Assert
var firstPerson = result[0];
var secondPerson = result[1];
Assert.AreEqual(p1.Id, firstPerson.Id);
Assert.AreEqual(p2.Id, secondPerson.Id);
}
Run Code Online (Sandbox Code Playgroud)
该Act阶段仅涉及调用被测方法.
| 归档时间: |
|
| 查看次数: |
3593 次 |
| 最近记录: |