c++ - VS 2013 单元测试不起作用 => 设置执行上下文时出错

标签 c++ unit-testing dll visual-studio-2013 dependencies

<分区>

我第一次尝试为我的私有(private)项目实现一些单元组件测试。我观看了一些关于此的视频,然后我尝试了一步一步的指导,如何正确编写测试。我的第一步工作正常,但是当我尝试在我的 c++ 项目中实现单元测试项目时(分为两个项目,一个项目创建一个 DLL,另一个项目使用它)我得到一个错误,我不知道是什么完全错误,因为错误消息并没有真正帮助。

首先是我的代码。此代码工作正常,没有任何问题:

TEST_METHOD(TestMethod1)
{
    Assert::AreEqual(1, 1);
}

但是当我添加我的包含以使用我在 DLL 项目中编写的类时,上面显示的这个测试方法失败了,我不知道为什么。我得到的唯一消息是这个(它是德语的,很抱歉,但我没有在网上找到类似的英文错误消息):

Testname         :  TestMethod1
Test FullName    :  TestUnit::UnitTest1::TestMethod1
Testquelle       :  ...\unittest1.cpp Zeile 12
Testergebnis     :  Fehler
Testdauer        :  0:00:00

Ergebnis Meldung :  Fehler beim Einrichten des Ausführungskontexts 
                    zur Ausführung des Tests

(意思是“在为测试执行设置执行上下文时出错”)

所以...我在谷歌上搜索了一下,发现了一些关于此类错误的信息,他们说,可能链接有误,或者链接器找不到 LIB/DLL,但我将我的依赖项和库引用与我的(工作)项目使用 DLL 并且依赖项和引用是相同的。

现在我有点困惑,我不知道如何解决这个错误。 有人有想法吗?

最佳答案

至少,经过数小时和数天的尝试和寻找解决方案后,我解决了问题,但请不要问我如何解决的。 我看了一篇关于类似问题的文章HERE我用了THIS工具,它说我的项目找不到一些文件,如“libpng16.lib”和“MICROSOFT.VISUALSTUDIO.TESTTOOLS.CPPUNITTESTFRAMEWORK.DLL”。删除我的 libpng16 引用后(因为我不再需要它),该项目仍然无法运行。将 cppunittestframework.lib 添加到我的项目(引用)并添加文件夹(我认为,visual studio 的这个 UnitTest 文件夹是按标准链接的)测试运行完美。再次删除这两个引用后,测试也有效。 不知道会发生什么,我也不能说问题的解决方案是什么,但现在我的测试正在运行。 希望它在未来仍然有效......

关于c++ - VS 2013 单元测试不起作用 => 设置执行上下文时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23985590/

相关文章:

delphi - 将 delphi win32 应用程序转换为库和 FreeLibrary 卡住

unit-testing - 如何对 std::vector 的排序进行单元测试

java - 如何对 JSP 标签进行单元测试?

python - 单元测试 Tkinter 文件对话框

c++ - 程序关闭期间 CoreMessaging.dll 中出现未处理的异常

c++ - 我可以得到单独的 DLL 来分别解析它们导入的 DLL 吗?

C++从多行字符串中删除新行

C++初学者,需要指导

c++ - 计算(64 位无符号整数)*(64 位无符号整数)除以 2^64 的商

c++ - 为什么投长可以解决 "warning: cast to pointer from integer of different size"?