【发布时间】:2009-11-20 00:09:41
【问题描述】:
我正在编写一些单元测试,我需要能够根据设置数据断言是否已调用方法。
例如
String testValue = "1234";
MyClass target = new MyClass();
target.Value = testValue;
target.RunConversion();
// required Assertion
Assert.MethodCalled(MyClass.RunSpecificConversion);
然后会有第二个测试,其中 testValue 为空,我想断言该方法尚未被调用。
针对特定测试场景的更新:
我有一个类,它表示从 XML 反序列化的信息。这个类包含一些我需要转换成我自己的类的信息。
XML 类是关于一个人的信息,包括帐户信息和不同字段中的一些电话号码。
我有一个从 XML 类创建我的 Account 类的方法,以及一个从 XML 类创建正确电话类的方法。我对这些方法中的每一个都进行了单元测试,但我想测试当调用帐户转换时,它会运行电话转换,因为结果实际上是帐户类的属性。
我知道我可以在输入正确信息后测试帐户类的属性,但是我还有其他嵌套属性,这些属性进一步嵌套并且测试整个树可能变得非常麻烦。我想我可以让每个级别测试它下面的下一个级别,但理想情况下,我想确保调用了正确的转换方法并且代码没有在实现中重复。
【问题讨论】:
标签: c# unit-testing visual-studio-2005