我正在codeception
使用laravel 5.2
进行测试
这是我的codeception.yml
文件:
actor: Tester
paths:
tests: tests_codecept
log: tests_codecept/_output
data: tests_codecept/_data
support: tests_codecept/_support
envs: tests_codecept/_envs
settings:
bootstrap: _bootstrap.php
colors: false
memory_limit: 1024M
extensions:
enabled:
- Codeception\Extension\RunFailed
modules:
config:
Db:
dsn: 'mysql:host=localhost;dbname=kartice_test'
user: '*******'
password: '*******'
dump: tests_codecept/_data/dump.sql
populate: true
cleanup: true
reconnect: true
这里是functional.suite.yml
文件:
class_name: FunctionalTester
modules:
enabled:
# add framework module here
- \Helper\Functional
- Asserts
- Laravel5:
environment_file: .env.testing
- Db
这是我的test method
:
public function provera_dodavanja_novog_klijenta(FunctionalTester $I)
{
$this->authenticate($I);
$I->amOnPage('/kancelarija/komitenti/create');
$I->see('Kreiranje novog komitenta');
$I->fillField('input[name=komitent_code]', 'kom1');
$I->fillField('input[name=komitent_name]', 'Komitent 1');
$I->click('btnSave');
$I->seeInDatabase('komitenti', ['code' => 'kom1', 'name' => 'Komitent 1']);
$I->see('Komitent Komitent 1 je uspešno kreiran.');
}
运行功能测试失败,显示消息:
Step I see in database "komitenti",{"code":"kom1","name":"Komitent 1"}
Fail No matching records found for criteria {"code":"kom1","name":"Komitent 1"} in table komitenti
Failed asserting that 0 is greater than 0.
我做错了什么?
我见过问题Codeception seeInDatabase() doesn't work for me,但这并没有帮助我。
答案 0 :(得分:3)
您应该使用seeRecord
方法而不是seeInDatabase
。我不知道为什么,但对我来说,第一个是工作,第二个是 - 不是。
答案 1 :(得分:0)
我使用gulp tdd,当测试表单遇到此错误时。 请检查:
您已将此添加到“请求”
<YourFormRequest>use App\Http\Requests\<YourFormRequest>;
确保您的表的模型是可批量分配的
protected $fillable = ['tableField1', 'tableField2']