Как использовать функцию обратного вызова на языке 4Test SilkTest
Поэтому я пытаюсь использовать что-то древнее, например, язык 4Test в SilkTest, несколько современным способом. У меня есть несколько похожих тестов, которые отличаются только частью кода. Я хотел бы создать инфраструктурную функцию, которая бы выполняла типичные вещи, а затем просто вызывала разные функции для разных тестов. Как функция обратного вызова, скажем так.
Поэтому я хотел бы сделать что-то вроде этого:
testcase A(Function F)
do some stuff
F()
do other stuff
Кто-нибудь делал это? Как я должен это делать?
1 ответ
Решение
Итак, я нашел решение, и я публикую его здесь по причинам документации.
Когда человек хочет передать функцию в качестве аргумента, он должен передать имя функции в виде строки, а затем вызвать ее со следующей структурой
@(functionNameString)()
Так что код будет
void someFunction()
Print("Hello World!")
@("someFunction")()
Это также работает с методами объектов.