Phabricator:运行 单元测试
Phabricator: run unit test
我想为 Phabricator 编写自定义单元测试。
为此,我查看了 Writing Unit Tests in Phabricator 的文档并在 ./phabricator/src/infrastructure/testing/testcase/PhabricatorTrivialTestCase.php
创建了一个文件(用于使用简单的 phabricator 测试用例),内容如下
class PhabricatorTrivialTestCase extends PhabricatorTestCase {
private $two;
public function willRunOneTest($test_name) {
// You can execute setup steps which will run before each test in this
// method.
$this->two = 2;
}
public function testAllIsRightWithTheWorld() {
$this->assertEqual(4, $this->two + $this->two, '2 + 2 = 4');
}
}
当我尝试 运行 它时,我收到以下消息。
$ cd ./phabricator
$ arc unit src/infrastructure/testing/testcase/
No tests to run.
为什么我不能 运行 按照记录进行测试?是否缺少某些步骤?
终于找到解决办法了。
有几件事必须做。
- 将测试文件移动到目录
./src/extensions/__tests__
(文件夹必须是 __tests__
)
- 已将 class
PhabricatorTrivialTestCase
重命名为 SomePhabricatorTrivialTestCase
(因为名称为 PhabricatorTrivialTestCase
的测试已经存在)
- 运行
arc liberate
(使 SomeTrivialPhabricatorTestCase
可用于测试)
- 提交更改
- 运行
arc unit --everything
(因为 arc unit
returns "No tests to run",但是 arc unit --everything
有效
我想为 Phabricator 编写自定义单元测试。
为此,我查看了 Writing Unit Tests in Phabricator 的文档并在 ./phabricator/src/infrastructure/testing/testcase/PhabricatorTrivialTestCase.php
创建了一个文件(用于使用简单的 phabricator 测试用例),内容如下
class PhabricatorTrivialTestCase extends PhabricatorTestCase {
private $two;
public function willRunOneTest($test_name) {
// You can execute setup steps which will run before each test in this
// method.
$this->two = 2;
}
public function testAllIsRightWithTheWorld() {
$this->assertEqual(4, $this->two + $this->two, '2 + 2 = 4');
}
}
当我尝试 运行 它时,我收到以下消息。
$ cd ./phabricator
$ arc unit src/infrastructure/testing/testcase/
No tests to run.
为什么我不能 运行 按照记录进行测试?是否缺少某些步骤?
终于找到解决办法了。
有几件事必须做。
- 将测试文件移动到目录
./src/extensions/__tests__
(文件夹必须是__tests__
) - 已将 class
PhabricatorTrivialTestCase
重命名为SomePhabricatorTrivialTestCase
(因为名称为PhabricatorTrivialTestCase
的测试已经存在) - 运行
arc liberate
(使SomeTrivialPhabricatorTestCase
可用于测试) - 提交更改
- 运行
arc unit --everything
(因为arc unit
returns "No tests to run",但是arc unit --everything
有效