我正在测试一组输出样式器类,这些类在将数据输出到输出接口之前对其进行样式化。每个样式器的行为取决于输出对象的多达 5 种不同条件(目前,但第 6 种条件正在开发中):isKey、isDefault、isEmpty、isReadOnly、isAccessible
因此,如果一个样式器具有只读数据,则它可能不输出任何内容,而另一个样式器可能会显示“拒绝访问”。
目前我正在沿着这些路线进行测试,但随着更多条件的添加,测试正在爆炸式增长。
{
// isKey, isDefault, isEmpty, isReadOnly, isAccessible
ValueOutputTester::TestConditions conditions = {0, 0, 0, 0, 0};
EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 0, 0, 1};
EXPECT_EQ(valueOutputTester(conditions), normalOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 0, 1, 0};
EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 0, 1, 1};
EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 1, 0, 0};
EXPECT_EQ(valueOutputTester(conditions), emptyOutput);
}
...
你能推荐一个更好的方法吗?