我试图以这样一种方式构建我的单元测试,即如果我更改正在测试的对象的构造函数,我不必更改很多测试。这是我现在设置的简化示例:
[TestMethod]
public void Test1()
{
_mockedObject1.Setup(etc);
_mockedObject2.Setup(etc);
var service = new TestedService(_mockedObject1.Object, _mockedObject2.Object, ...,
_mockedObject7.Object);
//Act and Assert
}
现在我有 20 个以相同方式排列的单元测试。如果我必须更改 TestedService 的构造函数,我必须进入所有 20 个测试并更改创建服务的行。我可以将这行代码拉出到 TestInitialize 或其他东西中,以便我只需要更改一次吗?我的第一个想法是我不能,因为这样服务会在我的 .Setups 之前创建。还有另一种方法来处理这个吗?