断言一个方法是用MSTEST调用的
本文关键字:MSTEST 调用 方法 一个 断言 | 更新日期: 2023-09-27 18:25:30
我试图测试的不是一些代码的状态,而是一些代码的行为。如果调用了某个方法,我可以使用MSTest断言吗?我需要使用一个模拟框架吗?
特别是现在我想检查一个私有对象是否被实例化,而不必为了测试而强制将其公开,但检查是否调用了任何方法的解决方案将非常适合未来的需求:)
与其测试方法,不如真正测试方法的行为。这意味着看一看你的方法是做什么的,并编写一个测试ot maker来确定它所更改的数据确实已经更改。例如:
public void Bigmethod()
{
newUpCollections();
CreateDatabaseConnection();
FlagBadData();
}
如果您想验证newUpCollections是否有效:
[TEST]
public void BigMethod_WhenCalled_RecreatesCollections()
{
BigMethod()
Assert.IsNotNull(Class.Collections);
}
如果你的方法没有任何改变任何东西的行为,你可能不需要测试它,甚至可能不需要在软件中测试它。所以,看看你的方法,它在改变什么数据,你能监控这些数据是否真的在改变吗?