Lime (software)
   HOME

TheInfoList



OR:

lime is a
unit test 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 ...
ing and
functional testing In software development, functional testing is a form of software testing that verifies whether a system meets its functional requirements.ISO/IEC/IEEE 24765:2017, "Systems and software engineering — Vocabulary", International Organization fo ...
framework built specifically for the
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License. Goal Symfony aims to speed up the crea ...
web application framework A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
based on the Test::More
Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Perl was developed ...
library.Potencier, Fabien; Zaninotto, François. ''The Definitive Guide to symfony'', Apress, January 26, 2007, pp. 317-344. The framework is designed to have readable output from tests, including color formatting, by following the
Test Anything Protocol The Test Anything Protocol (TAP) is a protocol for communicating between test logic, called a TAP producer, and a test harness in a language-agnostic way. Originally developed for unit testing of the Perl interpreter in 1987, producers and par ...
which also allows for easy integration with other tools. lime tests are run in a sandbox environment to minimize test executions from influencing each other. Though the lime testing framework is built for testing within
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License. Goal Symfony aims to speed up the crea ...
, lime is contained within a single
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
file and has no dependency on
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License. Goal Symfony aims to speed up the crea ...
or any other library. The alpha version of lime 2.0 was announced on November 10, 2009 and is compatible with
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License. Goal Symfony aims to speed up the crea ...
1.2 and lower.
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License. Goal Symfony aims to speed up the crea ...
2.0 uses
PHPUnit PHPUnit is a unit testing framework for the PHP programming language. It is an instance of the xUnit architecture for unit testing frameworks that originated with SUnit and became popular with JUnit. PHPUnit was created by Sebastian Bergmann an ...
for testing instead of lime.


Example

lime
unit test 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 ...
s use the lime_test object to make assertions. The following is a basic example lime
unit test 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 ...
to test
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
's built-in in_array function. include dirname(__FILE__) . '/bootstrap/unit.php'; // Include lime. // Create the lime_test object for 10 number of assertions and color output. $t = new lime_test(10, new lime_output_color()); // The test array. $arr = Hello', 'World', 123 // Output a comment. $t->diag('in_array()'); // Test to make sure in_array returns a boolean value for both values // that are in the array and not in the array. $t->isa_ok(in_array('hey', $arr), 'bool', '\'in_array\' did not return a boolean value.'); $t->isa_ok(in_array('Hello', $arr), 'bool', '\'in_array\' did not return a boolean value.'); $t->isa_ok(in_array(5, $arr), 'bool', '\'in_array\' did not return a boolean value.'); $t->isa_ok(in_array(FALSE, $arr), 'bool', '\'in_array\' did not return a boolean value.'); // Test to make sure in_array can find values that are in the array // and doesn't find values that are not in the array. $t->ok(!in_array('hey', $arr), '\'in_array\' found a value not in the array.'); $t->ok(!in_array(5, $arr), '\'in_array\' found a value not in the array.'); $t->ok(!in_array(FALSE, $arr), '\'in_array\' found a value not in the array.'); $t->ok(in_array('Hello', $arr), '\'in_array\' failed to find a value that was in the array.'); $t->ok(in_array('World', $arr), '\'in_array\' failed to find a value that was in the array.'); $t->ok(in_array(123, $arr), '\'in_array\' failed to find a value that was in the array.');


Version 2.0

The alpha version of lime 2.0 was announced on the Symfony blog on November 10, 2009. The second version of lime was built to be as
backward compatible In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with inpu ...
with the first version as was possible - the two parts of lime 2.0 that are not compatible with lime 1.0 are the configuration of the test harness and the LimeCoverage class. lime 2.0 includes support for
xUnit xUnit is a label used for an automated testing software framework that shares significant structure and functionality that is traceable to a common progenitor SUnit. The SUnit framework was ported to Java by Kent Beck and Erich Gamma as JUn ...
output, source code annotations, parallel execution of tests, automatic generation of mock and stub objects, and
operator overloading In computer programming, operator overloading, sometimes termed ''operator ad hoc polymorphism'', is a specific case of polymorphism, where different operators have different implementations depending on their arguments. Operator overloading ...
for data within tests. Unlike the first version of lime, lime 2.0 does have some dependencies on
Symfony Symfony is a free and open-source PHP web application framework and a set of reusable PHP component libraries. It was published as free software on October 18, 2005, and released under the MIT License. Goal Symfony aims to speed up the crea ...
.


See also

* Symfony Framework *
List of unit testing frameworks This is a list of notable test automation frameworks commonly used for unit testing. Such frameworks are not limited to unit-level testing; can be used for integration and system level testing. Frameworks are grouped below. For unit testing, a ...


References


External links


Symfony project homepage
{{PHP Unit testing frameworks PHP frameworks