2014-12-03 49 views
2

根據https://phpunit.de/manual/current/en/appendixes.configuration.html我嘗試使用phpunit爲$ GLOBALS數組設置一些變量。有沒有辦法在phpunit configuration.xml中爲全局變量提供數組值?

<phpunit> 
    <php> 
     <var name="NAME_OF_GLOBAL" value="VALUE_OF_GLOBAL" /> 
    </php> 
</phpunit> 

,但我不能設法提供一個數組到一個全局變量:當我想通過定義指定一個字符串值,以全局變量這工作得很好。我的問題是,我想提供一組文件,爲我的數據庫測試提供所需的數據集,並且我想避免此全局變量的CSV。

我想實現基本上是這樣的:

<phpunit> 
    <php> 
     <var name="NAME_OF_GLOBAL"> 
      <values> 
       <value>file1</value> 
       <value>file2</value>      
      </values> 
     </var> 
    </php> 
</phpunit> 

,但我不知道是否和如何這是可能的。任何人有想法?

回答

3

如果以JSON格式定義數組值,那麼該怎麼辦?

<phpunit> 
    <php> 
     <var name="NAME_OF_GLOBAL" value="['file1', 'file2']" /> 
    </php> 
</phpunit> 

而且在測試中,你得到的json_decode數組($ GLOBALS [ 'NAME_OF_GLOBAL'],真)?我沒有測試這個,但你可以試試。

+0

嗨,謝謝,我想我會這樣做,如果沒有其他解決方案。 – fabs 2014-12-08 08:01:21

+0

另一種方法是序列化的字符串,你可以[unserialize()](http://php.net/manual/de/function.unserialize.php)。但在我看來,JSON字符串更具可讀性。 – 2015-08-28 10:01:58

相關問題