Как установить или создать Модульный тест PHP

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

  1. Вы возвратились char * const, который позволит вызывающим сторонам менять струну в этом местоположении. Потенциальное переполнение буфера. Или Вы имели в виду const char *?
  2. у Вас могла бы быть проблема с повторной входимостью, или с параллелизмом.

Для объяснения второго рассмотрите это:

const char * const format_error_message(int err)
{
    static char error_message[MAXLEN_ERROR_MESSAGE];
    sprintf(error_message, "Error %#x occurred", err);
    return error_message;
}

, Если Вы называете его как это:

int a = do_something();
int b = do_something_else();

if (a != 0 && b != 0)
{
    fprintf(stderr,
        "do_something failed (%s) AND do_something_else failed (%s)\n",
        format_error_message(a), format_error_message(b));
} 

..., что будет печатным?

То же для поточной обработки.

11
задан Steve Tauber 8 March 2013 в 00:55
поделиться

1 ответ

Вы можете использовать методы setUp () и tearDown () с частной или защищенной переменной. setUp () вызывается перед каждым методом testXxx (), а tearDown () вызывается после. Это дает вам чистый лист для работы с каждым тестом.

class TestClass extends PHPUnit_Framework_TestCase {
 private $myClass;

 public function setUp() {
   $this->myClass = new MyClass();
 }

 public function tearDown() {
   $this->myClass = null;
 }

 public function testSomething() {
   $this->assertTrue($this->myClass->someFunc(1));
 }

 public function testSomethingAgain() {
   $this->assertFalse($this->myClass->someFunc(0));
 }
}
26
ответ дан 3 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

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