【发布时间】:2013-02-10 07:51:03
【问题描述】:
您好,我是 Moq 测试的新手,很难做一个简单的断言。 我正在使用一个界面
public interface IAdd
{
void add(int a, int b);
}
IAdd 接口的起订量为:
Mock<IAdd> mockadd = new Mock<IAdd>();
mockadd.Setup(x => x.add(It.IsAny<int>(), It.IsAny<int>()).callback((int a, int b) => { a+b;});
IAdd testing = mockadd.Object;
由于add 方法是无效的,它不会向Assert 返回任何值。如何断言此设置?
【问题讨论】:
-
你想测试什么?
-
我正在尝试测试 add 方法,但它没有任何返回类型。如果它有 int 作为返回类型,我将测试 Assert.AreEqual(mockadd.add(2,2), 4);但是没有返回类型我如何测试 add 方法。
-
1. 测试接口(或模拟实现)是没有意义的。 2. 如果您有一个计算某些东西的类,您可能希望以某种方式提供结果(通过返回值或该对象上的某些属性)
-
奇怪,添加没有返回任何东西???需要寻找更好的方法名。
标签: c# unit-testing nunit moq