Я работаю над проектом SilverStripe. Я пытаюсь написать поведенческие тесты, используя Behat для моего проекта. Поскольку я пытаюсь понять, как работает Behat, я ссылаюсь на пример в официальной документации Behat.
Я создал файл объектов со следующим определением
Feature: ls
In order to see the directory structure
As a UNIX user
I need to be able to list the current directory's contents
Scenario: List 2 files in a directory
Given I am in a directory "test"
And I have a file named "foo"
And I have a file named "bar"
When I run "ls"
Then I should get:
"""
bar
foo
"""
Это мой тестовый класс
class FeatureContext extends SilverStripeContext
{
/**
* @Given I am in a directory :arg1
*/
public function iAmInADirectory($arg1)
{
return new PendingException();
}
/**
* @Given I have a file named :arg1
*/
public function iHaveAFileNamed($arg1)
{
return new PendingException();
}
/**
* @When I run :arg1
*/
public function iRun($arg1)
{
return new PendingException();
}
/**
* @Then I should get:
*/
public function iShouldGet(PyStringNode $string)
{
assertEquals(1, 1);
}
}
Когда я запускаю тесты, он пропускает методы тестирования без выполнения утверждений. Как видите, я запускаю утверждение в последнем методе тестирования. Я пытался использовать PHP утверждение единицы тоже PHPUnit_Framework_Assert::assertEquals()
. Это только не работает и продолжает пропускать шаги. Как я могу это исправить?
Это вывод в терминале
1 scenario (1 skipped)
5 steps (5 skipped)
0m1.13s (45.76Mb)
Killing test session environment... done!
По крайней мере, он не должен пропускать последний шаг / метод.