无法设置执行上下文以运行测试

时间:2016-10-04 18:58:30

标签: c++ unit-testing visual-studio-2015

这是我当前的设置:

  • 我有一套运行完美的单元测试
  • 我有一组库都编译为静态.lib
  • 单元测试项目编译为.dll并包含许多类

我最近添加了一个类,即MyCoolClass.h:

#include "AnotherBoringClass.h" // also inherits from BoringClass

class SuperCoolClass: public BoringClass
{
    /*
     * My super cool implementation
    */
protected:
    std::shared_ptr<AnotherBoringClass> myCoolPointer;
}

一切都很好,编译等等。但是当我尝试添加单元测试时:

#include "CppUnitTest.h"
#include "MyCoolClass.h"

TEST_CLASS(MyTestClass)
    {
    public:
        /*
         * Bunch of super cool -working- tests
        */
        TEST_METHOD(MyBrokenTest)
        {
            auto myVar = std::make_shared<MyCoolClass>();  // as soon as I comment this line everything works!!!
        }
    }

当我对上述评论时,一切运作良好!我做错了什么?

我尝试过的事情:

  • This,但我已将所有内容都放在同一输出文件夹中。此外,我使用了QuantLib和Boost,但所有其他单元测试工作正常

  • Same as previous link

提前致谢!

1 个答案:

答案 0 :(得分:1)

经过无尽的努力解决问题,我终于做到了。这是因为我使用MKL静态链接,而我的程序是使用选项 Property - &gt;编译的。 C / C ++ - &gt;代码生成 - &gt;运行时库 - &gt; xxx DLL

希望它有所帮助!