Я создал файл модульного теста для тестирования метода part_firstname_lastname .Я использую PyCharm.Когда я запускаю test_person.py, ошибки нет.Тест успешен.
Когда я запускаю файл в командной строке с помощью python test_person.py -v
, возникает ошибка:
из School.person import Personne ModuleNotFoundError: Нет модуля с именем 'School' Blockquote
В pycharm ошибок нет, импорт хороший.
School - это пакет внутри, у меня есть файл person.py .Файл test_person.py находится в другом пакете с именем Unit_Test
1- Как я могу это решить?2- Должен ли я использовать Mock для этого?
class Person:
def __init__(self, first, last):
self.__code = 0
self.__firstname = first
self.__lastname = last
def __str__(self):
return self.firstname + ' ' + self.lastname
@property
def firstname(self):
return self.__firstname
@firstname.setter
def firstname(self, value):
self.__firstname = value
@property
def lastname(self):
return self.__lastname
@lastname.setter
def lastname(self, value):
self.__lastname = value
@staticmethod
def part_firstname_lastname(data):
"""
This method take a part of the data
@param : str : data
:return: str : part of the data entered
"""
if len(data) > 3:
return data[0:3].upper()
return data[0:1].upper()
test_person.py
import unittest
from School.person import Person
class test_person(unittest.TestCase):
def test_code_personne(self):
p1 = Personne('Callier', 'John')
p1.part_firstname_lastname(p1.firstname)
self.assertEqual(p1.part_firstname_lastname(p1.firstname), 'CAD')
if __name__ == '__main__':
unittest.main()