|
@@ -7,6 +7,15 @@ use Laravel\CLI\Tasks\Task;
|
|
|
|
|
|
class Runner extends Task {
|
|
|
|
|
|
+ /**
|
|
|
+ * The base directory where the tests will be executed.
|
|
|
+ *
|
|
|
+ * A phpunit.xml should also be stored in that directory.
|
|
|
+ *
|
|
|
+ * @var string
|
|
|
+ */
|
|
|
+ protected $base_path;
|
|
|
+
|
|
|
/**
|
|
|
* Run all of the unit tests for the application.
|
|
|
*
|
|
@@ -26,7 +35,8 @@ class Runner extends Task {
|
|
|
*/
|
|
|
public function core()
|
|
|
{
|
|
|
- $this->stub(path('sys').'tests/cases');
|
|
|
+ $this->base_path = path('sys').'tests'.DS;
|
|
|
+ $this->stub(path('sys').'tests'.DS.'cases');
|
|
|
|
|
|
$this->test();
|
|
|
}
|
|
@@ -44,6 +54,8 @@ class Runner extends Task {
|
|
|
$bundles = Bundle::names();
|
|
|
}
|
|
|
|
|
|
+ $this->base_path = path('sys').'cli'.DS.'tasks'.DS.'test'.DS;
|
|
|
+
|
|
|
foreach ($bundles as $bundle)
|
|
|
{
|
|
|
// To run PHPUnit for the application, bundles, and the framework
|
|
@@ -67,9 +79,9 @@ class Runner extends Task {
|
|
|
protected function test()
|
|
|
{
|
|
|
// We'll simply fire off PHPUnit with the configuration switch
|
|
|
- // pointing to our temporary configuration file. This allows
|
|
|
+ // pointing to our requested configuration file. This allows
|
|
|
// us to flexibly run tests for any setup.
|
|
|
- $path = path('base').'phpunit.xml';
|
|
|
+ $path = 'phpunit.xml';
|
|
|
|
|
|
// fix the spaced directories problem when using the command line
|
|
|
// strings with spaces inside should be wrapped in quotes.
|
|
@@ -97,7 +109,7 @@ class Runner extends Task {
|
|
|
// locations depending on what the developer wants to test.
|
|
|
foreach (array('bootstrap', 'directory') as $item)
|
|
|
{
|
|
|
- $stub = $this->{"swap_{$item}"}($stub, $path, $directory);
|
|
|
+ $stub = $this->{"swap_{$item}"}($stub, $directory);
|
|
|
}
|
|
|
|
|
|
File::put(path('base').'phpunit.xml', $stub);
|
|
@@ -107,24 +119,22 @@ class Runner extends Task {
|
|
|
* Swap the bootstrap file in the stub.
|
|
|
*
|
|
|
* @param string $stub
|
|
|
- * @param string $path
|
|
|
* @param string $directory
|
|
|
* @return string
|
|
|
*/
|
|
|
- protected function swap_bootstrap($stub, $path, $directory)
|
|
|
+ protected function swap_bootstrap($stub, $directory)
|
|
|
{
|
|
|
- return str_replace('{{bootstrap}}', $path.'phpunit.php', $stub);
|
|
|
+ return str_replace('{{bootstrap}}', $this->base_path.'phpunit.php', $stub);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Swap the directory in the stub.
|
|
|
*
|
|
|
* @param string $stub
|
|
|
- * @param string $path
|
|
|
* @param string $directory
|
|
|
* @return string
|
|
|
*/
|
|
|
- protected function swap_directory($stub, $path, $directory)
|
|
|
+ protected function swap_directory($stub, $directory)
|
|
|
{
|
|
|
return str_replace('{{directory}}', $directory, $stub);
|
|
|
}
|