0

这是我的问题:我必须测试一种将三个短列表连接成一个较长列表的方法。我(pex)假设任何短名单都不为空(下面列出了句子)。

PexAssume.IsTrue(third != (IList<int>)null, "third");
PexAssume.IsTrue(first != (IList<int>)null, "first");
PexAssume.IsTrue(second != (IList<int>)null, "second");

但是测试是这样进行的:pex 生成的测试用例都是零列表。这是一个示例:第一个 {0,0} {0} {0}

第二 {0} {0,0} {0}

第三个 {0,0} {0} {0,0}

结果 {0,0,0,0,0} {0,0,0,0} {0,0,0,0}

这是我的问题:如何设置假设来丰富 PEX 生成的测试用例,这样就不会有那么多 0?

谢谢!

4

1 回答 1

1

Pex 根据完全测试函数所需的内容生成值。它生成 0 列表的事实仅意味着列表中的特定值对您的函数无关紧要。您可以在函数中添加一些涉及列表中值的 if 语句,以强制 Pex 生成不只是 0 但您确实不应该生成的列表。

TL;DR 别担心,0 在你的测试中并不重要。

于 2011-12-08T17:30:26.450 回答