NoneType 'объект не имеет атрибута' split - PullRequest
0 голосов
/ 05 июня 2019

Я использую Jython на Soatest Parasoft и получаю сообщение об ошибке при разрушении теста тест для вызова API, чтобы получить ответ, а затем сравнить с БД. Тест проверен индивидуально, и результаты БД и ответ API работают нормально. код Jython записан как пользовательский метод для сравнения

 from com.parasoft.api import *

  def compareResults(input, context):

    actual = context.getValue("Generated Data Source", "Actual_goalId")

    expect = context.getValue("Generated Data Source", "Expected_goalId")

    actual_arr = []
    expect_arr = []

    actual_arr = actual.split(",")

    expect_arr = expect.split(",")

    if len(actual_arr) == len(expect_arr):

        for e_pointer in expect_arr:

            a_pointer = 0

            final_result = 0

            for a_pointer in actual_arr:

                if str(a_pointer) == str(e_pointer):

                    final_result = 1

                    break

            if final_result == 0:

                Application.showMessage("-------->From actual results: " + str(e_pointer) + " is missing")

                break

            else:

                Application.showMessage("-------->From actual results: " + str(e_pointer) + " is present")

    else:

        Application.showMessage("-------->The numbers of goal ID does not match what retrieved from data base")              

    Application.showMessage("Actual goal ID is " + str(actual_arr))

    Application.showMessage("Expected goal ID is " + str(expect_arr))

    return final_result

каково решение этой проблемы?

1 Ответ

0 голосов
/ 06 июня 2019

что происходит, когда вы пытаетесь напечатать фактическое и ожидаете? Как в вашем коде:

Application.showMessage(" Content of actual  : " + str(actual))
Application.showMessage(" Content of expect : "  + str(expect))

Или попробуйте использовать встроенный тип ()

type(actual)

или проверьте, имеет ли он значение NULL

actual is None

Похоже, что у вас может быть NULL в одном из ваших источников данных, или ваш источник данных "NULL"

Убедитесь, что в Parasoft SOAtest Extension Tool установлен флажок « Использовать источник данных » и что в поле со списком «Источник данных» выбран правильный источник данных. В вашем коде вы используете имя источника данных «Сгенерированный источник данных», и я не уверен, есть ли у вас такое имя, поэтому это также может быть причиной наличия NoneType / NULL.

Другими словами, я предполагаю, что ваш код может быть правильным, однако конфигурация Extension Tool и, в конечном итоге, имя источника данных неверны.

...