是否可以将重复断言提取到私有方法

时间:2015-03-01 19:27:47

标签: c# unit-testing code-duplication

我一直在为一个类编写测试,所有这些都看起来像这样:

expectedResult = ....;
exception = new ....;
mock.Setup(sameexpression).Throws(exception);
result = sameObject.SameMethodToTest();
Assert.AreEqual(expectedResult, result);

我想知道将这段代码(包括常见的断言)提取到共享私有方法中是否会被认为是错误的样式,它会接收expectedResult和异常作为参数,从而减少代码重复和维护。 / p>

1 个答案:

答案 0 :(得分:2)

我将其保留在测试中。提取代码的问题是它更难以识别正在测试的内容。而且,如果您需要更改功能,更新测试中的共享代码比更新仅在特定测试中使用的代码更困难。