Decision: do not use absl
in new code. Generally, absl
is a poor fit for use cases in Fuchsia. We will remove absl
from the tree once existing clients of it are migrated away. This removal work is tracked in fxbug.dev/59428.
Note: The googletest library includes both the former gtest and gmock projects.
Use the Gtest framework for writing tests everywhere except the Zircon directory. It provides the TEST
and TEST_F
macros as well as the ASSERT
and EXPECT
variants we use.
Inside the Zircon directory, use system/ulib/zxtest
instead. It provides a Gtest-like interface with fewer dependencies on higher-level OS concepts like mutexes (things we want to test). It also supports writing tests in C which is required for some layers.
Gmock has several components. We allow the gmock matchers such as ElementsAre()
.
There are varying opinions on the team on the function mocking functions (MOCK_METHOD
and EXPECT_CALL
).
Pros:
Cons:
Decision: do not use the mocking functionality of gmock (MOCK_METHOD
and EXPECT_CALL
).