我在ASSERT语句中使用string.find()来尝试匹配几个不同的文本。我运行时测试失败。你能告诉我我做错了吗?我的尝试如下。
这是教授给我们的一个例子 例如:Coffee
16
0.95
10
TS_ASSERT(string::npos != tmpstr.find("Coffee\t\t10\t9.5"));//this works
结束示例
Sausage-large
11.10
9
TS_ASSERT(string::npos != tmpstr.find("Sausage-large\t11.10\t9")); //fails
Fries-large
Remember to salt a lot
2.35
20
TS_ASSERT(string::npos != tmpstr.find("Fries-large\tRemember to salt a lot\t2.35\t20")); //fails
stringstream outThing;
printSummary(outThing, allProdList);
string tmpstr = outThing.str();
TS_ASSERT(string::npos != tmpstr.find("Fries-large\nRemember to salt a lot\n2.35\n20"));
outFile << tmpstr;
stringstream outThing2;
答案 0 :(得分:-1)
\t
不是行分隔符。尝试\n
(linux&amp; unix)或\r\n
(windows),如
TS_ASSERT(string::npos != tmpstr.find("Sausage-large\n11.10\n9"));