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

时间:2014-06-01 23:40:21

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

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

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

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

但是当我添加我的include以使用我在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

(这意味着“设置测试执行的执行上下文时出错”)

所以...我google了一下,我发现了一些关于这些错误的信息,他们说,也许有一些链接错误或链接器没有找到LIB / DLL,但我比较了我的依赖项和库引用我的(工作)项目使用DLL,依赖项和引用是相同的。

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

1 个答案:

答案 0 :(得分:1)

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