如何使用Google bazel运行单个测试

13

为了在一个目标下运行所有测试,我使用命令行命令

bazel test //src/code_path:target_name

如何在上述目标中运行测试single_test需要添加哪些额外参数?

5个回答

12

以下是使用Googletest的设置:

TEST(TestSuite, test1)
TEST(TestSuite, test2)

你可以使用以下方法来隔离 test1:

bazel test --test_arg=--gtest_filter=TestSuite.test $TEST_TARGET_PATH

请查看--gtest_filter


2
这应该是 --test_arg=--gtest_filter=TestSuite.test1 吗? - netskink

4

--test_filter 可以用于:

以下是 googletest 测试的例子:

TEST(glog, log) {
  LOG(INFO) << "an INFO log message";
  VLOG(1) << "a vlog(1) message";
}

--test_filter=glog.log 可以用来选择它。


4

15
举个例子会很有帮助。 - Ernesto Cejas
使用标志的值取决于测试运行器。因此,如果没有更多信息,就无法提供示例。 - ahumesky

2

举个具体的例子,针对默认的C++测试运行器(而不是一般的“取决于你使用哪个测试运行器”):

对于一个测试:

TEST_F(HiMomFixture, testCall)
{
  EXPECT_EQ(..)
}

用这个进行选择

bazel test ... --test_filter HiMom*
or
bazel test ... --test_filter Hi*

参考下面 @ahumesky 的回答


0
bazel test --test_output=streamed --test_filter='single_test' //src/code_path:target_name

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接