问题标签 [mstest]

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 投票
2 回答
962 浏览

mstest - MSTest 和自定义消息

最近我开始使用 mstest 进行测试。

  1. 如果测试成功,有什么方法可以将消息写入测试窗口?我看不到路,只有在测试失败时才允许发送消息。如果我想说,打印一点测试的描述,这样我就可以看到测试的含义而无需打开测试。或者,就像现在的情况一样,我正在测量一些测试的执行时间,我想打印出那个时间。

  2. 有没有办法扩展测试方法,以便轻松选择是否需要时间测量的测试,选择测试执行模式?

谢谢

0 投票
3 回答
10185 浏览

mstest - 在 mstest 中运行测试而不编译/构建

有办法吗?每次开始测试时我都必须等待构建吗?我想从视觉工作室而不是从测试构建

谢谢

0 投票
3 回答
4992 浏览

c# - 调试程序集加载问题

在单元测试期间我遇到了一个非常奇怪的问题(Visual Studio 中的 MSTest - .NET 3.5 SP1):

  1. 我单击“在解决方案中运行所有测试”
  2. 所有测试都通过,除了一个特定的类,其中每个测试都会引发以下异常:“System.IO.FileLoadException:加载此程序集会产生与其他实例不同的授权集。(来自 HRESULT 的异常:0x80131401)。”
  3. 然后我去在课堂上设置一个断点。结果:类中的所有测试都通过(之前失败的相同测试)。
  4. 我单击“在解决方案中运行所有测试”。所有测试都通过了,除了另一个类。
  5. 我去在课堂上设置一个断点。结果:班级中的所有测试均通过
  6. 我单击“在解决方案中运行所有测试”。所有测试都通过了,除了第一个测试类。
  7. 等等

如您所见,问题非常不一致,因此难以调试。

我曾尝试使用 Fusion Log Viewer,但这给了我不太理解的令人困惑的结果。

我应该寻找什么?有没有其他人遇到过这个问题?

更新: 要求提供一些附加信息。

测试已经运行好几个月了——我想我上次运行它们是在星期四,然后它们运行良好。我一直在尝试检查源代码控制历史,看看是否有什么变化,但没有什么异常。

我可以在不同的日子追溯并检查该项目,但我们正在使用 Visual Source Safe(我知道 - 不是我的决定 :-( )所以我犹豫要不要这样做。

这些测试是常规的单元测试,我使用 Moq 来模拟对象......但正如我所说 - 它直到最近都运行良好。

我只是希望有关如何调试此问题的一些建议。

0 投票
3 回答
2518 浏览

unit-testing - 对 LINQ2SQL 存储库进行单元测试

我正在使用 MsTest 和 Moq 迈出第一步,并希望对 Linq2SQL 存储库类进行单元测试。问题是我不希望单元测试永久修改我的开发数据库。

对于这种情况,哪种方法最好?

  • 让每个测试都在我的真实开发数据库上运行,但要确保每个测试都自行清理
  • 为单元测试创​​建我的开发数据库和 dbml 的副本,并改用该上下文,这样我就可以在每次测试运行之前清除整个数据库
  • 找到一些模拟 Datacontext 的复杂方法(请记住,我是一个完整的 Moq 菜鸟)。
  • 完全不同的东西?也许可以在每次测试运行之前自动为我设置数据库?

编辑:我刚刚了解到 MBUnit 有一个回滚属性,可以反转测试用例运行的任何数据库操作。我不是特别喜欢 MSTest,所以这可以简单地解决我的问题吗?

0 投票
4 回答
10934 浏览

visual-studio - Visual Studio 测试项目 - 不会在部署时复制文件夹

这是问题所在:
1. 在您的 Visual Studio 解决方案中创建一个 TestProject。
2. 打开 .testrunco​​nfig 文件并在“部署”菜单项下,选中“启用部署”复选框。
3. 现在单击“添加目录...”按钮并添加一个包含一些文件的文件夹。
4. 运行测试项目(使用虚拟测试)。

好的,现在去检查 TestResults 文件夹:您将看到所有文件都被直接复制(到顶层)- 文件夹本身没有被复制(它们下面的文件)。这在测试过程中弄乱了我的路径。谁能告诉如何复制文件夹而不仅仅是下面的文件?

谢谢。

0 投票
7 回答
2649 浏览

c++ - 添加 fmod Visual C++ 测试后,如果某个测试中的某些代码行,所有测试都失败、无法获取类型和 FileNotFoundException

我已经弄清楚是什么导致了这个问题,但我仍然不知道为什么——它发生在我开始fmod使用.dll. 我的测试代码是一个静态库;它指的是fmodex_vc另一个静态库,它在某个时候(虽然我不知道什么时候)决定加载它的fmodex.dll. (它和其他所有东西都在同一个目录中,所以我不知道为什么它找不到它。)据我所知,被测代码绝对不会调用 fmod 初始化函数,但也许 fmod 有一些初始化自身并加载到 dll 中的静态全局初始化程序?只有当使用它的模块中的代码被……使用时,该代码才会被拉入?

我正在使用 Visual Studio 测试框架测试非托管 C++ 代码,当我开始使用 fmod 时它停止工作:每个测试,甚至是什么都不做的“测试”测试,都会报告(为便于阅读而包装):

经过大量试验和错误,排除.cpp文件并重新添加它们,我发现只有一个测试文件引发了问题;并且只有在调用此行时才会这样做:

有趣的是,如果该行在代码中 ,则所有测试都会以该消息开始失败。EntityMgr::Init()是一个很少做的函数:

Entity, FWIW, 是一个非常普通的类,没有指针,float它的字段只有各种 s。

  • 无论我如何运行测试(从测试视图、运行选定、运行全部、从命令行运行、从测试菜单),我都会收到错误消息。
  • 尝试使用调试器进入测试失败 - 测试在调试器进入之前失败。将调试器设置为在系统异常上中断也无济于事。
  • 被测代码是一个静态 .lib。CLR 支持是/clr.
  • 哦,这只是:如果我调用一个静态实体成员函数,同样的处理。如果我将所说的静态函数移到课堂之外,同样的处理。但是,如果我将该功能移至另一个模块,那就没问题了。

如果我将调试器设置为中断任何异常,我会得到一些有趣的东西:

当然,那个位置没有源代码。这是调用堆栈:

这是 mstest 报告的堆栈跟踪 - 我没有从中得到任何有用的信息。

为什么 fmod 这样做?

0 投票
4 回答
6863 浏览

unit-testing - Resharper 单元测试运行器:MSTest 部署项目问题

ReSharper 单元测试运行程序:支持部署项

对于上述问题,我有一个后续问题。我正在使用带有本机 mstest 支持的 resharper 4.5 版来运行 mstest 单元测试。当我将 resharper 的单元测试选项配置为使用我的 testrunco​​nfig(以利用我的部署项集)时,我的测试运行结束,没有显示任何结果或错误。有没有人使用 resharper 的 mstest 跑步者有同样的问题或类似的事情?

0 投票
6 回答
1233 浏览

visual-studio-2008 - MSTest 中是否可以有多个“TestClass”?

我正在尝试在 MSTest 中编写单元测试,并且创建了两个 TestClass。当我查看测试列表编辑器时,显示的唯一测试是出现在其中一个类中的测试。

我不知道如何从这两个类中运行测试。有任何想法吗?

0 投票
2 回答
523 浏览

visual-studio-2008 - 将 MSTest 与 MFC 一起使用

有没有人使用 MSTest 来测试 MFC 代码?

我创建了一个托管 C++ 测试项目,并且可以在其中编写单元测试,但是一旦我#include <afxwin.h>遇到问题。代码将编译,当它开始运行测试时,UI 挂起并且不会加载任何符号。您也无法调试测试。如果我删除#include,那么测试将成功运行。有任何想法吗?

它使用带有多线程调试 (/mtd) 的 /clr 进行编译,并通过共享 dll 使用 MFC。如果我选择静态链接到 MFC,那么编译器 (VSVC9.0) 会告诉我 /clr 和 /mtd 不兼容。

另外,您认为在测试中添加 DependencyInput 会解决这个问题吗?我尝试添加一些 MFC dll 作为依赖项输入,但没有帮助。我可能做错了。

谢谢。

0 投票
1 回答
119 浏览

.net - 有没有办法在我的应用程序中使用 mstest

有没有办法在我的应用程序中运行 mstests?

这些它应该如何工作我应该将项目放在一个文件夹中,将我的应用程序指向它并运行测试

谢谢你的时间