ASSERT_TRUE
和都ASSERT_FALSE
不会在LibraryTest
有错误的类中编译。
错误 C2664: 'std::basic_string<_Elem,_Traits,_Alloc>::basic_string(const std::basic_string<_Elem,_Traits,_Alloc> &)' : 无法将参数 1 从 'void' 转换为 'const std::basic_string <_Elem,_Traits,_Alloc> &'
它适用于TEST_F
我使用的任何产品。但是类和方法EXPECT_FALSE
中的编译都很好。LibraryTest
TEST_F
如何在 a 使用ASSERT
的方法中使用TEST_F
?
class LibraryTest : public ::testing::Test
{
public:
string create_library(string libName)
{
string libPath = setup_library_file(libName);
LibraryBrowser::reload_models();
ASSERT_FALSE(library_exists_at_path(libPath));
new_library(libName, libPath);
ASSERT_TRUE(library_exists_at_path(libPath));
EXPECT_FALSE(library_exists_at_path(libPath));
return libPath;
}
};
TEST_F(LibraryTest, libraries_changed)
{
string libName = "1xEVTestLibrary";
string libPath = create_library(libName);
}