首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NUnit测试用例创建

NUnit测试用例创建
EN

Stack Overflow用户
提问于 2015-05-14 12:11:54
回答 2查看 201关注 0票数 1

我制作了测试服,如下所示。

代码语言:javascript
复制
 [TestCase(12,4,3)]
 [TestCase(m,n,o)]
public void DivideTest(int n, int d, int q)
{
  Assert.AreEqual( q, n / d );
}

我传递变量m= 10,n=2和o= 5。

但是第二个测试用例是不可访问的。它引发以下错误。属性参数必须是属性参数类型的常量表达式、类型表达式或数组创建表达式

如何在测试用例中传递变量名而不是值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-14 12:16:03

不幸的是,除非变量是常量,否则不能将变量传递给测试用例。

票数 1
EN

Stack Overflow用户

发布于 2015-05-15 03:12:51

正如nickmkk所提到的,变量必须是常数。

如果不需要,则不需要传递第二个属性。如果您这样做了,您可以在测试和属性中通过相同的类型。它将按顺序读取参数。

代码语言:javascript
复制
[TestCase(12, 4, 3)]
[TestCase(10, 5, 1)]
public void DivideTest(int n, int d, int q)
{
  Console.WriteLine("n={0}, d={1}, q={2}", n, d, q);
  Assert.AreEqual(q, n / d);
}

打印 第一轮:预期:1,但为:2 在NUnit.Framework.Assert.That(Object message,IResolveConstraint表达式,IResolveConstraint表达式,String划一消息,Object[]args)的NUnit.Framework.Assert.AreEqual( in 32预期,in 32实际)在Test.Test.DivideTest(in 32 n,in 32 d,in 32 q)的ImplicitVsExplicitTest.cs中:第22行n=10,d=5,q=1 第二轮n=12,d=4,q=3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30237110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档