Как использовать функцию обратного вызова на языке 4Test SilkTest

Поэтому я пытаюсь использовать что-то древнее, например, язык 4Test в SilkTest, несколько современным способом. У меня есть несколько похожих тестов, которые отличаются только частью кода. Я хотел бы создать инфраструктурную функцию, которая бы выполняла типичные вещи, а затем просто вызывала разные функции для разных тестов. Как функция обратного вызова, скажем так.

Поэтому я хотел бы сделать что-то вроде этого:

testcase A(Function F)
    do some stuff
    F()
    do other stuff

Кто-нибудь делал это? Как я должен это делать?

1 ответ

Решение

Итак, я нашел решение, и я публикую его здесь по причинам документации.

Когда человек хочет передать функцию в качестве аргумента, он должен передать имя функции в виде строки, а затем вызвать ее со следующей структурой

@(functionNameString)()

Так что код будет

void someFunction()
    Print("Hello World!")

@("someFunction")()

Это также работает с методами объектов.

Другие вопросы по тегам