0

我的设置是 NUnit(最新,2.6.something),带有 R#8 和 Win7 的 VS13。我非常惊讶地注意到,当我使用属性Combinatorial时,IDE 变得极其缓慢。我们说的是每次击键后在VS 的灰色窗口等待几秒钟!

我已经用谷歌搜索了,但似乎没有任何相关的点击。我怀疑应该归咎于我们的本地设置(怎么可能无法安装 NUnit 和 R#?!)但其他人可能会感兴趣,知道发生这种情况时该怎么做。

我们注意到,随着测试用例数量的增加,延迟呈指数增长。这是其中一种方法的示例。

[Test]
[Combinatorial]
public void AddWaveformTest(
  [Values(null, "", "sec", "stringThatMayBulky")] string s1,
  [Values(null, "", "sec", "stringThatMayBulky")] string s1,
  [Values(null, "", "sec", "stringThatMayBulky")] string s3,
  [Values(null, "", "sec", "stringThatMayBulky")] string s4,
  [Values(int.MinValue, int.MaxValue, -1, 0, 1)] int i1,
  [Values(null, "", "sec", "stringThatMayBulky")] string s5,
  [Values(null, "", "sec", "stringThatMayBulky")] string s6,
  [Values(null, "", "sec", "stringThatMayBulky")] string s7,
  [Values(null, "", "sec", "stringThatMayBulky")] string s8,
  [Values(int.MinValue, int.MaxValue, -1, 0, 1)] int i2)
{
  ...
}

这比 2600 万次操作略多一点,这可能很多,但在计算机方面应该不会那么糟糕。正确的?我还注意到,直接原因并不是Combinatorial属性,而是Values属性。当我注释掉后者时,东西再次起作用,而注释掉前者并没有带来任何改进......

4

1 回答 1

1

您可能需要检查此线程,因为看起来 resharper 可能在 8.x 版本中存在错误,导致编辑窗口在每次击键后需要一段时间才能响应的问题。

在对该问题的评论中搁置的一些领域是:

  • 安装和拆卸很昂贵:这个想法与第二点有关->
  • Resharper 内部存在某种持续测试(诸如 ncrunch 功能或接近),但 OP 认为它不太可能。

不要犹豫来评论这个问题,我很好奇它(顺便说一句,编辑器窗口不可用的时间是否与您的测试持续时间大致匹配?)

于 2014-06-28T20:10:49.487 回答