Как я тестирую на несколько исключений с PHPUnit?

Создайте 512x512 png Вашего значка, назовите его "iTunesArtwork" (никакое расширение, никакие кавычки) и добавьте его к своему проекту под Ресурсами. Затем сборка.

[еще 112] детали здесь:

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/000-Introduction/introduction.html

25
задан etheros 27 April 2010 в 15:30
поделиться

2 ответа

Поскольку исключения - это такие большие события в потоке программы, тестирование нескольких из них за один тест проблематичен.

Самый простой способ - это просто разделить его на два теста: первый требует исключения, чтобы он мог пройти, второй просто запускается, и он не сработает, если он сгенерирует один. Вы можете добавить несколько других тестов во второй, если хотите (может быть, с подтверждением возвращаемого значения), но я был бы склонен убедиться, что он по-прежнему выполняет только одну важную вещь, согласно его названию.

/**
 * @expectedException Exception
 */
public function testBadFooThrowsException()
{
    // optional, can also do it from the '@expectedException x'
    //$this->setExpectedException('Exception');
    foo(-1); //throws exception -- good.
}

public function testFooDoesNotThrowException()
{
    foo(1); //does not throw exception
}
20
ответ дан 28 November 2019 в 20:45
поделиться

This doesn't make sense to me.

I guess you are trying to test multiple separate things with one test case which is bad practice.

When foo() throws the expected exception the test case is successful and bar() won't run.

Just create two separate test cases which is a lot less code then what you produced in the second listing.

Or explain why it would make sense to run bar(), after foo() failed with an exception, when it will throw an exception too.

1
ответ дан 28 November 2019 в 20:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: