为在C#中不返回任何值的方法创建单元测试用例

时间:2011-04-28 10:33:27

标签: c#

  

可能重复:
  Unit testing void methods?

我需要为GUI方法编写单元测试用例,它不会返回任何值,我如何测试ac

3 个答案:

答案 0 :(得分:3)

你可以确保它不会抛出,至少是

Assert.DoesNotThrow<ExceptionType>( () => myClass.myMethod() );

但是,请记住,一个不返回值但执行某些操作的方法依赖于副作用,因此不适合单元测试,因为您无法在单元测试中测试系统的整体状态

答案 1 :(得分:2)

您可以模拟方法调用的某些方法和类,并断言它们被调用。您可以使用一些模拟框架来实现此目的,其中大多数都具有要测试的功能:Assert.IsCalled();

您还可以声明符合预期的环境中的某些更改。例如,创建一个文件。

答案 2 :(得分:1)

如果在传递params(如果有)的正确值时没有抛出异常,则它会通过。如果它在传递无效值时抛出正确的激活,则它会通过。