Но я согласен, что это странное использование doctests (насколько я понимаю, вы должны думать о doctests как документация, которую вы можете проверить, а не как QA на вашем программном обеспечении). Они должны быть тесно автономными и не зависеть от внешнего контекста.

ожусь на стадии изучения использования Python в качестве инструмента для обеспечения качества программного обеспечения.

Я написал следующий простой тест, чтобы найти букву «а» в числовой матрице текстового файла. проблема в том, что тест не пройден, хотя ожидание равно тому, что я получил.

Почему это? Можете ли вы сказать мне, что я делаю не так?

тестовый скрипт:

fin = open("abc.txt", "r")

arr_fin = []

for line in fin:
    arr_fin.append(line.split())

print arr_fin

for row in arr_fin:     
   arr_fin_1 = " ".join('{0:4}'.format(i or " ") for i in row) 
   print arr_fin_1



def find_letter(x, arr_fin_1):
    """
    >>> find_letter('a', arr_fin_1)
    97 
    """
    t=ord(x) #exchange to letter's ASCII value
    for i in arr_fin_1:
        if i==x:
            print t
            return;

def _test():
    import doctest
    doctest.testmod()

if __name__ == "__main__":
    _test()

сообщение об ошибке:

Expected:
    97 
Got:
    97
**********************************************************************
1 items had failures:
   1 of   1 in __main__.find_letter
***Test Failed*** 1 failures.

Ответы на вопрос(2)

Ваш ответ на вопрос