我有以下结构:
#in constants.py
MIN_VALUE = 0
MAX_VALUE = 100
#in calculator.py
import constants
class Calculator:
#Create initialiser (not used at the moment)
def __init__(self):
return
def get_sum(self, number1, number2):
return number1 + number2
def main():
calculator = Calculator()
print(calculator.get_sum(10, 10))
return
if __name__ == "__main__":
main()
print("")
exit(0)
#in tests.py
import unittest
import source_code.calculator as Calculator
class Test_Calculator(unittest.TestCase):
def setUp(self):
self.calculator = Calculator()
return
def test_calculator(self, number1, number2, errorMessage):
self.assertEqual(self.get_sum(number1, number2), expected_LBTT, errorMessage)
return
def main(self):
test_calculator(10, 10, "The calculated sum is wrong.")
return
if __name__ == "__main__":
unittest.main()
当我运行 calculator.py 时,它工作正常。 当我运行 tests.py 或 python -m unittest 时,出现以下错误:
> ======================================================================
> **ERROR: tests (unittest.loader._FailedTest.tests)
> **----------------------------------------------------------------------
> ImportError: Failed to import test module: tests
> Traceback (most recent call last):
> File "C:\Users\Home\AppData\Local\Programs\Python\Python311\Lib\unittest\loader.py", line 407, in _find_test_path
> module = self._get_module_from_name(name)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Users\Home\AppData\Local\Programs\Python\Python311\Lib\unittest\loader.py", line 350, in _get_module_from_name
> __import__(name)
> File "C:\Users\Home\Desktop\BJSS\project\tests.py", line 2, in <module>
> import source_code.calculator as Calculator
> File "C:\Users\Home\Desktop\BJSS\project\source_code\calculator.py", line 1, in <module>
> import constants
> ModuleNotFoundError: No module named 'constants'
>
>
> ----------------------------------------------------------------------
> Ran 1 test in 0.000s
>
> FAILED (errors=1)
我不明白为什么它以一种方式运行而不是另一种方式。 我该如何解决这个问题?