为了在一个目标下运行所有测试,我使用命令行命令
bazel test //src/code_path:target_name
如何在上述目标中运行测试single_test
需要添加哪些额外参数?
以下是使用Googletest的设置:
TEST(TestSuite, test1)
TEST(TestSuite, test2)
你可以使用以下方法来隔离 test1:
bazel test --test_arg=--gtest_filter=TestSuite.test $TEST_TARGET_PATH
请查看--gtest_filter。
--test_filter 可以用于:
以下是 googletest 测试的例子:
TEST(glog, log) {
LOG(INFO) << "an INFO log message";
VLOG(1) << "a vlog(1) message";
}
--test_filter=glog.log
可以用来选择它。
--test_filter
标志:
https://docs.bazel.build/versions/2.0.0/command-line-reference.html#flag--test_filter
该标志的值格式取决于测试运行程序。举个具体的例子,针对默认的C++测试运行器(而不是一般的“取决于你使用哪个测试运行器”):
对于一个测试:
TEST_F(HiMomFixture, testCall)
{
EXPECT_EQ(..)
}
用这个进行选择
bazel test ... --test_filter HiMom*
or
bazel test ... --test_filter Hi*
参考下面 @ahumesky 的回答
bazel test --test_output=streamed --test_filter='single_test' //src/code_path:target_name
--test_arg=--gtest_filter=TestSuite.test1
吗? - netskink