Я полагаю сообщество Python ActiveState быть большим ресурсом. Также Отрывки DZone могут быть полезными.
Ну, файлы PHP - это просто текстовые файлы, поэтому вы можете написать сценарий TestGenerator.php, который будет читать файл данных и выдавать кучу тестовых файлов .php. Сценарий генератора тестов будет таким же простым, как «прочитать строку, проанализировать ее, выплюнуть PHP». Затем просто запустите этот сценарий генератора тестов как часть процесса сборки / тестирования, и все готово.
Вы можете использовать поставщиков данных PHPUnit для этого:
<?php
require_once 'PHPUnit/Framework/TestCase.php';
class ProviderTest extends PHPUnit_Framework_TestCase
{
public function testCaseProvider()
{
// parse your data file however you want
$data = array();
foreach (file('test_data.txt') as $line) {
$data[] = explode("\t", trim($line));
}
return $data;
}
/**
* @dataProvider testCaseProvider
*/
public function testAddition($num1, $num2, $expectedResult)
{
$this->assertEquals($expectedResult, $num1 + $num2);
}
}
?>
и ваш файл test_data.txt выглядит примерно так:
1 2 3
2 2 4
3 5 7
Затем запустите тест:
$ phpunit ProviderTest.php
PHPUnit 3.4.12 by Sebastian Bergmann.
...F
Time: 0 seconds, Memory: 5.75Mb
There was 1 failure:
1) ProviderTest::testAddition with data set #2 ('3', '5', '7')
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-7
+8
/Users/dana/ProviderTest.php:23
FAILURES!
Tests: 4, Assertions: 3, Failures: 1.