问题标签 [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 回答
522 浏览

c# - .Net 单元测试 EnterpriseLibrary.ExceptionHandling 问题

我正在使用 EnterpriseLibrary.ExceptionHandling 版本 5 进行错误处理。在项目中完美工作。但是当在项目中运行所有单元测试时出现错误:

检测程序集“Microsoft.Practices.EnterpriseLibrary.ExceptionHandling,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”的强名称验证失败。请确保在测试设置中指定了检测后重新签名的正确密钥文件。

尽管如果我仅在调试模式下运行特定测试,则可以正常工作。

请建议。谢谢

0 投票
3 回答
737 浏览

c# - 在 Visual Studio 2010 中运行单元测试时过早发出 AutoResetEvent 信号

我在 VS2010 中运行 MS 单元测试来测试我的多线程应用程序。

应用程序使用 anAutoResetEvent来同步线程,它的声明如下:


主测试线程(ID:13)

主测试线程启动一个线程来解析一个捕获文件,然后调用WaitOne()一个AutoResetEvent,阻塞直到捕获完成:

旁注:代码最初调用了captureParsedEvent.Reset()afterWaitOne()但我在调查此问题时删除了它,因为我的研究得出结论,这对于AutoResetEvent对象可能不是必需的。)

解析线程(ID:18)

同时,进行解析的线程发出这样的信号AutoResetEvent


通常,一切都运行良好,我在输出窗口中看到以下预期输出:

但是,我间歇性地看到以下输出:

这显然给我带来了问题,因为捕获还没有真正完成解析。

上面的地方是唯一发生的,captureParsedEvent.Set();所以我知道没有其他人在发出这个事件的信号。

几个问题:

  1. Trace.WriteLine()线程安全并以正确的顺序输出跟踪吗?

  2. 我只在 VS2010 中运行单元测试时才看到这个问题——并行运行的测试是否有一些有趣的事情发生,并且在这种情况下使用线程可能会导致问题?我的理解是测试是串行运行的,但不确定这是否正确。

0 投票
2 回答
184 浏览

visual-studio - 带有一长串输入的 VS 单元测试

我有一个要进行单元测试的数据转换功能。我已经确定了一个有限但相当长的可能输入列表(大约 1000 个),可以导致大约 50 个输出。VS 单元测试中是否有办法设置输入列表和预期输出列表(如两列 Excel 图表中)并将其输入单元测试?

如果有办法,怎么做?谢谢。

0 投票
2 回答
1638 浏览

c# - 如何对任务并行性进行单元测试

我在 .NET 中有一个类,它创建并启动一个新类System.Threading.Tasks.Task,如下所示:

如何对C#.Net 中的ScheduledTask.Start和方法进行单元测试?ScheduledTask.Stop哪些框架可用于此类单元测试,哪些是单元测试线程(或任务并行性)的最佳实践?

0 投票
1 回答
1258 浏览

c# - 如何使用 PrivateObject 访问或修改类中方法的变量

我是编写单元测试的新手。我使用 PrivateObject 来访问和修改类的私有成员以在测试时使用它。

但是,如果我想访问我正在测试的方法的私有变量,我该怎么做。我不会更改任何功能,但我需要修改一个变量才能完成单元测试。

这就是我想要做的。在 ABC 类中,我想修改 dwConn,因为我将无法访问 SqlConnectionManager 进行单元测试,但我可以在应用程序运行时访问它。非常感谢您阅读本文。任何帮助注册这都会很好。

0 投票
1 回答
6803 浏览

msbuild - MSBuild 在自动化测试项目上失败

我刚刚在我的 C# 解决方案中添加了一个自动化测试项目,并将其检入到我的构建服务器中。

当构建脚本使用 MSBuild (.NET Framework 3.5) 运行时,它给了我几个错误(如下所示):

当我在我的计算机上运行 .NET 3.5 msbuild 时,它会正确构建。

构建服务器上没有 .NET 4.0,升级它不是一种选择。谁能建议可能导致差异的原因以及我可以做些什么来成功构建测试项目?

谢谢

0 投票
0 回答
625 浏览

c# - 如何在单元测试中通过交互触发器引发动作?

我遇到了一些小问题。我想用 Visual Studio 2010 为 c#/wpf/interactivty 项目编写一些单元测试。别忘了我是初学者,很抱歉;)

单元测试应该模拟文本框上的(虚拟)按键事件,结果应该引发一个动作。(动作结果:控制台输出 - 只是作为第一步检查)

我仍然修复了 2 个问题 -> 调度程序问题和presentationSource 错误。

unittest 仍然模拟 keyevent 并且 keyevent 到达了文本框,但问题是,为什么没有通过文本框上的 keydown 事件引发操作?

是线程问题吗?我有什么误解?

这是代码

单元测试
结束时的单元测试你可以检查文本框 - 键盘工作

调度程序修复

我的测试

模拟窗口

codeplex sendkeys添加的 MockKeyboard + 用于 unittest 的 PresentationCore 修复(在 SendKeys 类中添加)

0 投票
1 回答
345 浏览

vs-unit-testing-framework - 有没有办法跳过基类中的测试?

我正在使用 C# 4.0、Visual Studio 2010 并使用命名空间中的属性注释我的方法/类Microsoft.VisualStudio.TestTools.UnitTesting

我想在我的测试类中使用继承,其中每个额外的继承都代表正在更改或正在创建的东西。如果我能让它不从基类运行测试,那么一切都会好起来的。这是一个粗略的例子:

0 投票
0 回答
57 浏览

visual-studio-2010 - 使用 Visual Studio 2010 运行选择性单元测试

我刚刚开始研究一个具有现有单元测试的现有项目。单元测试需要一分钟多的时间来构建和运行。

我有一种方法可以选择性地运行单元测试,这样我就可以运行自己的单元测试,但没有过去进行的单元测试?

-谢谢

0 投票
1 回答
698 浏览

asp.net-mvc - Entity Framework4.3 和单元测试。访问冲突异常。尝试读取或写入受保护的内存

我正在使用 EF4.3、ASP.NET MVC4、Microsoft.VisualStudio.TestTools.UnitTesting。

代码工作正常。我添加了单元测试来测试控制器。单元测试失败,但有以下异常:

访问冲突异常。尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

在 ((IObjectContextAdapter)this).ObjectContext.MetadataWorkspace.LoadFromAssembly(typeof(MyBusinessEntity).Assembly);

我已将 [assembly: InternalsVisibleTo("TestProject")] 添加到我的 Web 项目 AssemblyInfo.cs

有什么建议么 ?

单元测试代码:

控制器操作使用 Entity Framework4.3 DBContext 调用存储过程。SP 调用的结果映射到一个复杂类型。SP 调用的 DBContext 代码是:

一般来说,代码工作正常。但是,当使用单元测试测试控制器操作时,会引发访问冲突错误。在行 ((IObjectContextAdapter)this).ObjectContext.MetadataWorkspace.LoadFromAssembly(typeof(MyEntity).Assembly);