Software:lime
Developer(s) | Fabien Potencier |
---|---|
Stable release | 3.4[1]
/ October 16, 2017 |
Written in | PHP |
Operating system | Cross-platform |
Type | Test tool |
License | MIT License |
Website | www |
lime is a unit testing and functional testing framework built specifically for the Symfony web application framework based on the Test Perl library.[2] The framework is designed to have readable output from tests, including color formatting, by following the Test Anything Protocol which also allows for easy integration with other tools.[2] lime tests are run in a sandbox environment to minimize test executions from influencing each other.[2] Though the lime testing framework is built for testing within Symfony, lime is contained within a single PHP file and has no dependency on Symfony or any other library.[1][2]
The alpha version of lime 2.0 was announced on November 10, 2009[3] and is compatible with Symfony 1.2 and lower.[4] Symfony 2.0 uses PHPUnit for testing instead of lime.[5]
Example
lime unit tests use the lime_test
object to make assertions. The following is a basic example lime unit test to test PHP'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 = array('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.[6] The second version of lime was built to be as backward compatible 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.[3] lime 2.0 includes support for xUnit output, source code annotations, parallel execution of tests, automatic generation of mock and stub objects, and operator overloading for data within tests.[3] Unlike the first version of lime, lime 2.0 does have some dependencies on Symfony.[5]
See also
References
- ↑ 1.0 1.1 Symfony 3.4 blog release entry
- ↑ 2.0 2.1 2.2 2.3 Potencier, Fabien; Zaninotto, François. The Definitive Guide to symfony, Apress, January 26, 2007, pp. 317-344. ISBN:1-59059-786-9
- ↑ 3.0 3.1 3.2 http://symfony.com/blog/lime-2-alpha-released
- ↑ http://blog.naenius.com/2009/08/using-symfonys-lime-in-phpundercontrol/
- ↑ 5.0 5.1 http://symfonyexperts.com/question/show/id/12
- ↑ SensioLabs. "(Press Release) Lime 2 alpha released" (in en). http://symfony.com/blog/lime-2-alpha-released.
External links