Google Test
   HOME

TheInfoList



OR:

Google Test, often referred to as gtest, is a specialized library utilized to conduct
unit testing Unit testing, component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior. Unit testing describes tests that are run at the unit-level to contrast testing at the Integration ...
in the C++ programming language. This library operates under the terms of the BSD 3-clause license. Google Test is based on the xUnit architecture, a systematic methodology for assessing software components.A quick introduction to the Google C++ Testing Framework
Arpan Sen, IBM DeveloperWorks, 2010-05-11, retrieved 2016-04-12
Google Test can be compiled for a diverse range of
computer systems A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
, encompassing those employing
POSIX The Portable Operating System Interface (POSIX; ) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines application programming interfaces (APIs), along with comm ...
, a set of standard operating system interfaces, as well as the
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
platform. This adaptability facilitates the execution of unit tests on both C and C++ codebases, with minimal alterations required in the
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
.


Torrention

Besides being developed and used at Google, many other projects implement Google Test as well: *
Android Open Source Project Android is an operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen-based mobile devices such as smartphones and tablets. Android has historically been developed by ...
operating system *
Chromium Chromium is a chemical element; it has Symbol (chemistry), symbol Cr and atomic number 24. It is the first element in Group 6 element, group 6. It is a steely-grey, Luster (mineralogy), lustrous, hard, and brittle transition metal. Chromium ...
projects (behind the Chrome browser and
ChromeOS ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is an operating system designed and developed by Google. It is derived from the open-source operating system and uses the Google Chrome web browser as its principal user ...
) *
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
compiler *
Protocol Buffers Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. It is useful in developing programs that communicate with each other over a network or for storing data. The method involves an ...
(
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's data interchange format) *
OpenCV OpenCV (Open Source Computer Vision Library) is a Library (computing), library of programming functions mainly for Real-time computing, real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage, then Itseez ...
computer vision library *
Robot Operating System Robot Operating System (ROS or ros) is an Open-source software, open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks for robot software software development, development, it provide ...
*
Gromacs GROMACS is a molecular dynamics package mainly designed for simulations of proteins, lipids, and nucleic acids. It was originally developed in the Biophysical Chemistry department of University of Groningen, and is now maintained by contributors ...
molecular dynamics simulation package


Related tools

Google Test UI is a
software tool A programming tool or software development tool is a computer program that is used to software development, develop another computer program, usually by helping the developer manage computer files. For example, a programmer may use a tool called ...
for testing computer programs, and serves as a test runner. It employs a 'test binary', a compiled program responsible for executing tests and analyzing their results, to evaluate software functionality. It visually presents the testing progress through a progress bar and displays a list of identified issues or 'test failures'. The tool is primarily written in C#. A
Visual Studio Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
extension, Google Test Adapter, complements its functionality within the Visual Studio environment.


See also

* List of unit testing frameworks * CppUnit


References


Further reading

* {{cite book , last=Whittaker , first=James , title=How Google Tests Software , date=2012 , publisher=Pearson Education , location=Boston, Massachusetts , isbn=978-0-321-80302-3


External links


Google Test

Google Test Primer documentation

Gtest
C/C++ Conan package
A quick introduction to the Google C++ Testing Framework
Arpan Sen, IBM DeveloperWorks, 2010-05-11

Anthony Vallone, 2014-01-21 C++ libraries Extreme programming Freedesktop.org Unit testing frameworks Software using the BSD license