2012-03-26 67 views
1

我正在使用yii框架,并且我构建了一些测试。 通过硒测试数据库和模型以及一个测试用户界面。Phing运行Yii框架测试

我尝试为phing构建xml文件以运行此测试(我正在使用Jenkins)。 但phing不喜欢把phpunit.xml作为配置。我的硒测试失败了。

这是使用的PHPUnit日志 - >

phpunit functional/signupTest.php 

PHPUnit 3.6.10 by Sebastian Bergmann. 

Configuration read from /var/www/myProject/protected/tests/phpunit.xml 

............ 

Time: 01:29, Memory: 6.00Mb 

OK (12 tests, 0 assertions) 

这是使用Phing对于相同的测试日志 - >

Buildfile: /var/www/myProject/protected/tests/build.xml 

myProject > test: 

    [phpunit] Testsuite: signupTest 
    [phpunit] Tests run: 6, Failures: 0, Errors: 6, Incomplete: 0, Skipped: 0, Time elapsed: 0.05331 s 
    [phpunit] testShow ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testCreate ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testUpdate ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testDelete ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testList ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testAdmin ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] Testsuite: SiteTest 
    [phpunit] Tests run: 3, Failures: 0, Errors: 3, Incomplete: 0, Skipped: 0, Time elapsed: 0.02317 s 
    [phpunit] testIndex ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testContact ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 
    [phpunit] testLoginLogout ERROR 
    [phpunit] Invalid response while accessing the Selenium Server at 'http://localhost:4444/selenium-server/driver/': ERROR Server Exception: sessionId should not be null; has this session been started yet? 

BUILD FINISHED

总时间:0.2542秒

这是PHPunit.xml配置 - >

<phpunit bootstrap="bootstrap.php" 
     colors="false" 
     convertErrorsToExceptions="true" 
     convertNoticesToExceptions="true" 
     convertWarningsToExceptions="true" 
     timeout="30000" 
     stopOnFailure="false"> 

    <selenium> 
     <browser name="Google Chrome" browser="*chrome" /> 
     <browser name="Firefox" browser="*firefox" /> 
    </selenium> 

</phpunit> 

这是build.xml文件(Phing)配置 - >

<?xml version="1.0" encoding="UTF-8"?> 
<project name="myProject" default="test"> 

     <target name="test" description="Launch PHPUnit Testing"> 
       <phpunit bootstrap="bootstrap.php" printsummary="false"> 
         <formatter type="plain" usefile="false"/> 
         <batchtest> 
           <fileset dir="."> 
             <include name="unit/Test.php"/> 
             <include name="functional/*Test.php"/> 
           </fileset> 

         </batchtest> 
       </phpunit> 
     </target>   
</project> 

如何,我可以运行詹金斯测试我的警予的项目?

回答

0

这是一个猜测,我从来没有用过Yii。

我猜测,当你运行你的测试时,你从测试文件夹中运行它们。另外,当你运行phing时,你从项目的根目录运行。

解决方案我认为您需要告诉phing在测试文件夹中运行PHPUnit,而不是从根文件夹运行。