【发布时间】:2017-10-27 03:13:27
【问题描述】:
我已经按照以下教程设置了功能测试:
- http://codeception.com/docs/04-FunctionalTests
- http://codeception.com/docs/modules/Symfony
- http://codeception.com/09-04-2015/using-codeception-for-symfony-projects.html
主要区别在于我以传统方式设置 Codeception,因为我不想将测试代码与项目代码混在一起。
这是我的功能测试(我知道它实际上并没有测试任何东西):
<?php
class MyFirstCest {
public function _before(FunctionalTester $I) {
}
public function _after(FunctionalTester $I) {
}
// tests
public function tryToTest(FunctionalTester $I) {
$I->amOnPage('/app/login/');
}
}
当我运行功能测试时,我得到:
[RuntimeException] Call to undefined method FunctionalTester::amOnPage
当我重新build Codeception 时,我得到:
Building Actor classes for suites: acceptance, functional, unit -> AcceptanceTesterActions.php generated successfully. 0 methods added \AcceptanceTester includes modules: PhpBrowser, \Helper\Acceptance -> FunctionalTesterActions.php generated successfully. 0 methods added \FunctionalTester includes modules: -> UnitTesterActions.php generated successfully. 0 methods added \UnitTester includes modules: Asserts, \Helper\Unit
关键部分似乎是\FunctionalTester includes modules:,它是空的。
我的functional.suite.yml 文件如下所示:
actor: FunctionalTester
modules:
- Symfony:
app_path: 'app'
environment: 'local_test'
class_name: FunctionalTester
modules:
enabled:
- Symfony2:
app_path: 'path/to/app'
var_path: 'path/to/app'
- Doctrine2:
depends: Symfony2
- \Helper\Functional
- PhpBrowser:
url: dev.hmr-app
- \AcmeBundle\Helper\Functional
Symfony 应用程序位于 path/to/app 的位置。我知道里面有很多垃圾,但那是因为我一直在试验,试图让它发挥作用。
我做错了什么?
【问题讨论】:
标签: php symfony unit-testing codeception