问题标签 [vs-unit-testing-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
679 浏览

visual-studio-2012 - Visual Studio 2012:运行具有大量时间开销/延迟的单元测试

我刚刚使用 Visual Studio 2012 在 C# 中启动了一个新项目。VS2012 是最新的,因此没有安装 beta 或 RC。当我运行单元测试时,会有很大的延迟。测试总结说,它跑了 10 秒,4 个单元测试总共跑了 96 毫秒。这就是测试资源管理器告诉我的。为什么会有将近 10 秒的时间开销这么大?如果你做 TDD 显然很烦人......

我必须设置任何配置设置吗?我错过了什么?

或者它(仍然)是VS2012中的一个错误?我找到了一篇关于 VS2012 BETA 的博客 (http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing. ASP)。在那篇文章的结尾,他们说:“单元测试启动性能——现在我们在你开始测试运行后有一个非常难看的延迟,我们正在积极努力解决这个问题。” 但我没有找到更多关于这个问题的信息。也许错误仍然存​​在。

希望可以有人帮帮我。提前致谢。

0 投票
1 回答
1789 浏览

c#-4.0 - 如何以编程方式运行 Microsoft.VisualStudio.TestTools.UnitTesting 单元测试?

假设我有一个单元测试项目 UnitTests.dll:

我想从另一个项目 RunUniTests.exe 以编程方式运行上述单元测试。我怎么做?类似于 NUnit 对应物的东西,例如如何以编程方式运行 NUnit中所示的东西会很棒。

0 投票
1 回答
1177 浏览

visual-studio-2010 - 在visual studio或resharpher中运行单元测试用例之前是否可以避免构建

考虑到我只更改了一个测试/单元测试项目,如果我尝试运行它,它会构建单元测试项目(已接受)和所有其他开发项目(这并不是真正需要的)。

我怎样才能避免这种情况?我在解决方案中有 100 多个项目,因此由于项目构建,每个单元测试用例的运行都需要很长时间。

0 投票
1 回答
5572 浏览

unit-testing - 如何从 MSTest 获取测试结果状态?

在 NUnit 中,我可以从context.Result.State. 如果是NUnit.Framework.TestState.Success,那么我知道测试通过了。

在 MSTest 中,我如何获取该信息?

我看到了context.Properties.Keys,但没有一个人提到测试结果的状态。

0 投票
2 回答
7893 浏览

c# - Visual Studio C# 单元测试 - 使用不同/多个测试初始化​​运行单元测试,多次运行相同的单元测试?

我想做的是:

  1. 创建一堆单元测试。
  2. 创建模拟、输入变量等初始化的各种不同排列/组合。
  3. 使用基于某些参数的一组此类初始化运行每个给定的单元测试。

我将如何去做这样的事情?

是否已经有任何框架来处理这个问题(即在更改初始化时多次运行给定的测试)?你能提出任何设计或想法,我可以用它来做这件事吗?

我知道单元测试框架的工作原理。我使用 NUnit 和 Rhino 模拟自己。

下面显示的是我需要的示例。

现在我希望 TestA() 运行多次。每次测试初始化​​都会选择另一个初始化组合。

更多说明

假设一个测试需要变量 A、B、C。它们中的每一个都是非常复杂的对象,最终结果是可以形成大量的组合。所以我希望我能以某种方式创建一个可以迭代此类组合列表的测试初始化​​,因此它将初始化它们,运行 TESTA,返回到列表中的下一个初始化,再次运行 TESTA,依此类推,直到清单用完了。接下来,它为 TESTB 选择另一个列表并再次遵循此过程。

至少我希望能够运行给定的 TEST 函数 n 次。其余的我知道我可以建造

0 投票
3 回答
2854 浏览

c# - 单元测试 - 扩展 Visual Studio 单元测试类型 - 不工作

我们被要求从 NUnit 迁移到 MSTest,现在必须将所有现有测试转换到新平台。其中大部分转换得很好,但我们在参数化测试方面遇到了问题。我们找到了以下网站,展示了如何编写扩展程序并下载了代码。

http://blogs.msdn.com/b/vstsqualitytools/archive/2009/09/04/extending-the-visual-studio-unit-test-type-part-2.aspx

然而,尽管它编译得很好,但 RowTestClass 测试都无法运行,并出现以下错误消息:

“无法初始化单元测试扩展‘urn:RunAsTestClassAttribute’:未为以下属性注册单元测试扩展:Microsoft.VisualStudio.Test.Sample.UnitTestTypeExtension.RunAsSample.RunAsTestClassAttribute。”

我们正在使用 VS2010 (10.0.40219.1 SP1Rel) (Microsoft .NET Framework 版本 4.0.30319 SP1Rel)

我想知道它是否与以下库有关:

任何帮助使这项工作非常感谢。

0 投票
2 回答
7383 浏览

visual-studio-2012 - 通配符测试容器到 mstest。可执行程序

是否可以将通配符 testcontainer 值传递给命令行 mstest.exe 而不是手动硬编码多个 testcontainer 值?如

Mstest.exe /testcontainer:测试.dll

我想在我们的 tfs 2012 升级 template.xaml 构建过程中手动调用 mstest 所以它的行为类似于在默认 template.xaml 中运行测试的自动发现方式

如果不能,是否可以将其写入 bat 脚本以遍历给定起始文件夹中的文件夹?

0 投票
1 回答
285 浏览

c++ - Visual Studio 2012 的新 C++ 单元测试框架是否可移植?

我感兴趣的 VS2012 的新特性之一是集成的 C++ 单元测试框架。但是,如果它将我锁定在 Windows / Visual Studio 平台,我不想使用它。有谁知道它的便携性吗?

0 投票
3 回答
3738 浏览

c# - Data Driven MSTest: DataRow is always null

I am having a problem using Visual Studio data driven testing. I have tried to deconstruct this to the simplest example. I am using Visual Studio 2012. I create a new unit test project. I am referencing system data.

My code looks like this:

I have a very small csv file that I have set the Build Options to to 'Content' and 'Copy Always'. I have added a .testsettings file to the solution, and set enable deployment, and added the csv file.

I have tried this with and without |DataDirectory|, and with/without a full path specified (the same path that I get with Environment.CurrentDirectory). I've tried variations of "../" and "../../" just in case. Right now the csv is at the project root level, same as the .cs test code file.

I have tried variations with xml as well as csv.

TestContext is not null, but DataRow always is.

I have not gotten this to work despite a lot of fiddling with it. I'm not sure what I'm doing wrong.

Does mstest create a log anywhere that would tell me if it is failing to find the csv file, or what specific error might be causing DataRow to fail to populate?

I have tried the following csv files:

ID

1

2

3

4

and

ID, Whatever

1,0

2,1

3,2

4,3

So far, no dice.

I am using ReSharper, could it be interfering in some way?

Updated I have it mostly working now! I am able to use XML, but when I use CSV my column, which is named ID comes back as ID

Not sure why. I've checked the actual file of course, and no weird characters are present.

For anyone having a similar problem, I turned off Just My Code and enabled Net Framework source stepping, etc. so that I could get more detailed debug information. This allowed me to determine that ReSharper was causing me problems. I disabled resharper and modified my attributes like this:

And it worked (except as noted). I am still suspicious of the "bin\debug" in my path, but I'm just happy my DataRow is no longer null. Thanks!

Any ideas?

0 投票
4 回答
24333 浏览

c# - StreamWriter.WriteLine() 不工作

我正在尝试使用 StreamWriter.WriteLine (非静态)一次将几行写入 .txt 文件。

每个播放器对象都是字符串余数。如果我使用不同的文件名(又名 BasicTestInfo2.txt)运行它,它会在 bin.Debug 中创建该文件,但它是空的。我知道我到达了 using 块的内部(我在那里放了一个 Console.WriteLine),并且我知道我想截断这就是为什么我使用 false 进行追加(尽管用 true 或没有参数替换 false根本不能解决问题)。

基本问题是即使创建了文件,文件中也没有文本行。