问题标签 [microsoft-cpp-unit-test]
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.
visual-studio-2012 - 如何从 msbuild 脚本运行 VS2012 CppUnitTestFramework 单元测试?
我编写了一个使用 VS2012 的 CppUnitTestFramework 的本机单元测试 dll。我可以在 VS2012 的 IDE 中的测试资源管理器窗口中运行这些测试。
但是,我还想从我们的 MsBuild 脚本运行这些测试。我想我需要使用适当的命令行启动一些测试运行程序 exe,但我正在努力寻找这方面的信息。
你能帮我指出正确的方向吗?谢谢。
c++ - C++单元测试测试,使用模板测试类
我正在做一些 C++ 测试驱动开发。我有一组类做同样的事情,例如
相同的输入给出相同的输出(或者应该,这就是我要测试的)。我正在使用 Visual Studio 2012
CppUnitTest 框架。我想创建一个模板化的测试类,所以我编写了一次测试,并且可以根据需要在类中进行模板化,但是我找不到这样做的方法。我的目标:
有没有办法使用 CppUnitTestFramework 做到这一点?
是否有另一个单元测试框架可以让我这样做?
c++ - 在 VS 2012 中编译单元测试时出错
我在 VS 2012 中定义了一个单元测试,由于错误 C2338,它不会编译。
错误 C2338:测试编写者必须为您的类 std::basic_string,class std::allocator > __cdecl Microsoft::VisualStudio::CppUnitTestFramework::ToString(const struct CoreUnitTests::TestStruct &) 定义 ToString 的特化。c:\program 文件 (x86)\microsoft visual studio 11.0\vc\unittest\include\cppunittestassert.h
在进行 Assert::AreEqual 测试时会发生这种情况。我需要为该类型定义一个 ToString 方法。
我遵循了 cppunittestassert.h 中给出的指导,并在互联网上找到了我已经放入的解决方案。但是错误仍然存在。
这是我正在使用的代码示例:
我显然还在做错事。有人有想法么。我已经尝试添加 TestStruct* 版本,但没有帮助。
我怀疑它可能与命名空间有关,但我不确定如何解决这个问题。
谢谢
c++ - 无法在 CppUnitTestFramework (VS2013) 中运行测试
在与团队其他成员分开的 perforce 流上,我无法在项目上运行 CppUnitTestFramework 测试,而其他流则可以正常运行测试。
这是一个代码片段:
这是我尝试运行测试时遇到的错误:
.sln 或不同流之间的任何相关 .vcxproj 文件之间没有差异。
c++ - vs 2013:cppunittest 测试中的断点抛出异常
我正在 vs 2013 环境中测试我的 c++11 静态库。我遵循了这个不错的教程,并且测试+代码覆盖率工作正常。
现在我需要一步一步:我添加了断点并执行了“Debug Selected Test”命令,我收到以下消息:vstest.executionengine.exe 已触发断点,调用堆栈将我带到CppUnitTest.h:465
:(static_cast<ThisClass *>(this)->*method2)();
,例如在根调用我想闯入的方法。无法查看此调用中的代码。
我的问题:如何在调试 Ms cpp 单元测试期间闯入我的代码?
c++ - CppUnitTest 卡在运行时并通过断点传递
我刚刚开始学习 CppUnitTest 框架,我遇到了最奇怪的问题。但是,当我运行我的代码(见下文)时,它只是永远卡住了 - 如果我添加断点并将其作为“逐步”运行,则测试成功完成(尽管它不会释放 DLL考试)
在过去的两天里,我试图搜索这个问题,但没有成功,我会很高兴得到任何帮助!
编辑:当我尝试调用我的任何 API 函数时,测试似乎卡住了,当我把它放在评论中时,测试也通过了常规运行。
c++ - Assert::AreEqual 为 system::clock 定义专业化
我的单元测试中有这段代码:
我得到这个错误:
我的理解是,您必须按照以下方式做一些事情:
编译器不喜欢这个RETURN_WIDE_STRING(t)
部分。我该如何正确地做到这一点?
c++ - How to set Timeout in CppUnitTestFramework (C++) in Visual Studio?
How to Add Timeout for a test method in C++ in Microsoft unit testing using CppUnitTestFramework ? Most of the Solutions I found online are for CSharp projects where I can add lines like [TEST_METHOD,TIME_OUT(80)] or such ,but those are not working while testing C++ (VC++) code
I have tried the below code
visual-studio - CppUnitTest 链接到 Windows 应用程序
我正在尝试将我的本机测试项目链接到同一解决方案中的现有项目。在#include 中,我正在编写我要测试的类的标题的路径。
当我在测试资源管理器中运行测试时,我得到构建错误:
错误 1 错误 LNK2019:无法解析的外部符号“public: __thiscall DataManager::DataManager(void)”(??0DataManager@@QAE@XZ) 在函数“public: void __thiscall MyProject.Tests::UnitTest1::TestMethod1(void)”中引用" (?TestMethod1@UnitTest1@MyProjectTests@@QAEXXZ) D:\Documents\VisualStudio2013\Projects\MyProject\MyProject.Tests\DataManagerTests.obj MyProject.Tests
我发现了如何将本机测试项目链接到 .dll 项目或静态库而不是 Windows 应用程序的不同示例。
非常感谢您的帮助。
c++ - Microsoft::VisualStudio::CppUnitTestFramework 中的参数化测试方法
我正在使用Microsoft::VisualStudio::CppUnitTestFramework为我的 C++ 项目编写一些测试用例。在这里,我有一个案例,我必须使用不同的参数运行相同的测试案例。
在 Nunit Framework for CPP 中,我可以通过以下代码实现这一点。
通过传递这些参数,该测试将运行 2 次。
在Microsoft::VisualStudio::CppUnitTestFramework单元测试中是否有类似的方法来实现这一点。
非常感谢任何帮助。