Как вызвать библиотеку из другой? - PullRequest
1 голос
/ 10 июля 2019

Я пытаюсь создать несколько библиотек и вызвать их.Моя цель - вызвать метод второго в первый.

Например, я создал две библиотеки: library1 и library2.

Код библиотеки1

class LibraryScriptTest1 {
    def log
    def context
    def testRunner
    def library2

    def LibraryScriptTest1(log, context, testRunner) {
        this.log = log
        this.context = context
        this.testRunner = testRunner

        library = testRunner.testCase.testSuite.project.testSuites["LibraryTestSuiteTest"]
        module = library.testCases["LibraryTestCaseTest2"].testSteps["LibraryScriptTest2"]
        module.run(testRunner, context)
        this.library2 = context.library2
    }

    int add(int firstNumber, int secondNumber) {
        return firstNumber + secondNumber
    }

    int multiply(int firstNumber, int secondNumber) {
        return firstNumber * secondNumber
    }

    int divide(firstNumber, secondNumber) {
        return this.library2.divide(firstNumber, secondNumber)
    }
}

context.setProperty("library1", new LibraryScriptTest1(log, context, testRunner))

Код библиотеки2:

class LibraryScriptTest2 {
    def log
    def context
    def testRunner

    def LibraryScriptTest2(log, context, testRunner) {
        this.log = log
        this.context = context
        this.testRunner = testRunner
    }

    int substract(int firstNumber, int secondNumber) {
        return firstNumber - secondNumber
    }

    int divide(int firstNumber, int secondNumber) {
        return firstNumber / secondNumber
    }
}

context.setProperty("library2", new LibraryScriptTest2(log, context, testRunner))

Ошибка

Однако я сталкиваюсь с этой ошибкойin library1:

groovy.lang.MissingPropertyException: нет такого свойства: библиотека для класса: LibraryScriptTest1 Возможные решения: ошибка library2 в строке: XX

Соответствующая строкаследующий:

context.setProperty("library1", new LibraryScriptTest1(log, context, testRunner))

Кто-нибудь может помочь мне понять и исправить это, пожалуйста?Спасибо.

...