PHPUnit:在assertJsonStringEqualsJsonFile()中纠正路径的参数

时间:2015-02-19 23:14:28

标签: php syntax phpunit

编辑:PHPUnit 4.5版稳定。

official documentation解释了该函数的两个参数:

assertJsonStringEqualsJsonFile($expectedFile, $actualJson)

$ expectedFile是存储在项目中的JSON文件的路径。但是,我不确定$ expectedFile路径的基目录是什么。例如,如果我有:

project-x/tests/MyClassTest.php
project-x/MyClass.php
project-x/tests/myJson.json

如何将此功能指向myJson.json?

当我指定

asstertJsonStringEqualsJsonFile('tests/myJson', $myArg);

我一直收到如下错误:

Failed asserting that file "tests/myJson.json" exists.

或者,如果我给出完整的路径:

asstertJsonStringEqualsJsonFile('/home/user-x/myproject/way/deep/tests/myJson', $myArg);

我明白了:

PHPUnit_Framework_Exception: Argument #1 (No Value) of PHPUnit_Framework_Assert::assertJson() must be a string

正确的语法是什么?

1 个答案:

答案 0 :(得分:1)

你可以使用__DIR__魔法常数。在测试用例中使用时调用tests/MyClass.php

asstertJsonStringEqualsJsonFile(__DIR__ . '/myJson.json', $myArg);