выполнение junits и cobertura со знатоком

return в последней строке определения функции находится внутри цикла for, поэтому функция вернется на первой итерации, и дальнейшие итерации никогда не произойдут. На самом деле в python вам не нужно писать return в конце функции, по умолчанию будет возвращаться None.

или измените идентификацию:

def Key_Stats(gather="Total Debt/Equity (mrq)"):
    statspath = path+'/_KeyStats'
    stock_list = [x[0] for x in os.walk(statspath)]
    print(stock_list[1:10])

    for each_dir in stock_list[1:]:
        print(each_dir)
        each_file = os.listdir(each_dir)
        ticker = each_dir.split("_KeyStats\\")[1]

        if len(each_file) > 0:
            #parsing time from the html file
            for file in each_file:    
                date_stamp = time.strptime(file, '%Y%m%d%H%M%S.html')
                unix_time = time.mktime(date_stamp)
                #print(date_stamp, unix_time)
                full_file_path = each_dir+'/'+file
                source = open(full_file_path, 'r').read()
                value = source.split(gather+':</td><td class="yfnc_tabledata1">')[1].split('</td>')[0]
                #print(ticker+":", value)
                #time.sleep(15)
    return
23
задан Rich Seller 30 July 2009 в 21:45
поделиться

3 ответа

Хотя я больше не могу найти точную страницу, я недавно прочитал обсуждение того, почему запуск тестов дважды считается хорошим идея. Ключевые упомянутые проблемы были связаны с влиянием изменения байтового кода Cobertura на точность ваших тестов. В некоторых случаях время выполнения вашего кода может быть важным, изменение байтового кода может привести к тому, что тесты, которые не пройдут в JUnit, пройдут только в Cobertura, и наоборот. По этой причине, Было рекомендовано выполнить тесты дважды. Большинство приведенных примеров касались многопоточного поведения, но я полагаю, что могут быть и другие случаи, когда изменение байтового кода может вызвать проблемы в ваших тестах. Выполнение тестов в обоих направлениях дает вам базовые результаты, а также снижает шансы отправить вас в погоню за диким гусем, если Cobertura действительно влияет на успех теста.

23
ответ дан 29 November 2019 в 02:49
поделиться

Попробуйте добавить cobertura в качестве ссылки на область компиляции. И разместите соответствующие части вашего пом.

1
ответ дан 29 November 2019 в 02:49
поделиться

Это происходит потому, что выполнение отчета требует выполнения теста, чтобы он мог создавать отчеты. Если бы в плагине сайта была цель "только сайт", которая не Если у вас есть аннотация @requiresDependencyResolution test , ее можно привязать к этапу подготовки пакета проекта, и ваши отчеты будут созданы без повторного запуска тестов.

К сожалению, в настоящее время такой цели нет (см. Мой вопрос по этому поводу). См. Мой ответ на вопрос, чтобы узнать об обходном пути.

1
ответ дан 29 November 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: