Как создать плагин, который хранит исключение из неудачного теста

#matlab #testing #plugins

#matlab #тестирование #Плагины

Вопрос:

Я запускаю MATLAB R2014a и выполняю отдельные тесты с помощью команды:

 result = run(NameOfTestClass, 'NameOfTestMethod')
  

Затем я могу узнать, прошел тест или не удался, посмотрев на значение:

 result.Passed
  

и

 result.Failed
  

Возможно ли, что я могу сохранить в результате причину сбоя теста и трассировку стека?

Будет ли это путем написания плагина?

Спасибо

Ответ №1:

Измените функцию, чтобы иметь доступ к причине, по которой она выдает неудачный тест. Это должно сработать.

Комментарии:

1. Извините, я не понимаю — какую функцию мне следует изменить? run это функция, встроенная в MATLAB.

2. Функция, которую вы вызываете с помощью run .

Ответ №2:

MATLAB предоставляет FailureDiagnosticsPlugin и StopOnFailuresPlugin, которые вы можете использовать для этого.

Комментарии:

1.Спасибо за ваш ответ. Я попробовал следующее: import matlab.unittest.TestSuite; import matlab.unittest.TestRunner; suite = TestSuite.fromClass(?NameOfClass); plugin = matlab.unittest.plugins.FailureDiagnosticsPlugin; runner = TestRunner.withNoPlugins; runner.addPlugin(plugin); result = runner.run(suite);

2. который выводит трассировку стека и причину сбоя теста в командное окно, но не сохраняет его в самом плагине, результате или бегуне, как задокументировано в документах FailureDiagnosticsPlugin . Существует ли плагин, который может хранить трассировку стека и причину сбоя теста в качестве свойств объекта (возможно, плагина)? Спасибо