我做错了什么,但我不知道是什么。这是我的文件:
//main
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
//MyFoo.h
#pragma once
#include "stdafx.h"
class MyFoo
{
public:
MyFoo(void){};
int multiplyByTwo(int value);
~MyFoo(void){};
};
//MyFoo.cpp
#include "stdafx.h"
#include "Myfoo.h"
int MyFoo::multiplyByTwo(int value)
{
return value * 2;
}
//MyFoo_Test.cpp
#include "stdafx.h"
#include "Myfoo.h"
#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE( my_test )
{
MyFoo a;
BOOST_REQUIRE( a.multiplyByTwo(2) == 5 );//<<---It shouldn't work
}
似乎无论我输入的是什么,每次都会通过5次,4次或8次测试。我做错了什么?
答案 0 :(得分:1)
删除_tmain
- 不需要它,如果你有那个,测试永远不会执行。
在Win32 Visual Studio 2008上验证,输出为:
运行1个测试用例...
c:/temp/test/test.cpp(25):致命错误 在“my_test”中:严格检查 a.multiplyByTwo(2)== 5失败