и план отработал, не выругался. отсюда я делаю вывод, что с точки зрения силктеста, что void что testcase - одна малина, и разделение сделано только для лучшего восприятия структуры тестовых скриптов человеком, так ли это?
Так-то оно так, но не совсем. testcase - это ключевое слово, обозначающее специальные функции, которые могут принимать аргументы, но не возвращают значения. Отличия от простых VOID-функций:
1) testcase не может быть вызван из другой testcase-функции (также и multitestcase), только из main или функций (обычных), которые вызываются функцией main
2) testcase - тоже является точкой входа программы, как и функция main, но с более низким приоритетом. СилкТест имеет возможность вызывать как все тесткейсы, так и каждый из них по отдельности. Обычную функцию так не вызовешь.
3) К testcase могут быть привязаны фукции appstate - специальный вид функций. Смысл их использования заключается в приведении тестируемого приложения или среды в некоторое исходное состояние до и после выполнения testcase , к которому данный appstate привязан. Пример привязки appstate:
[+]appstate MyAppState() basedon none
[ ] Print ( "My Appstate" )
[+]testcase Test () appstate MyAppState
[ ] Print( "Test" )
Если запустить данный тесткейс, то вывод будет иметь вид:
My Appstate
Test
My Appstate
VOID функции такой возможностью не обладают.
Это небольшой перечень особенностей, которые вспомнились. Отсюда следует вывод, что:
1) testcase-функция является по своей структуре такой же функцией, которая
не возвращает значения
2) СилкТест содержит встроенные механизмы, позволяющие работать с testcase-функциями, как отдельными автономными модулями. Иначе говоря, есть возможность запускать их отдельно
3) testcase-функции имеют некоторые ограничения, а также и некоторые специфические ключевые слова, по сравнению с обычными функциями.