Я хотел бы запустить один тест, содержащийся в подклассе unittest.TestCase
, используя nose2
, следующий за How to run specific test in Nose2, но он, похоже, не работает для меня. Я использую следующий пример сценария, который я назвал mickey_mouse_test.py
:Как запустить одиночный тестовый пример в носу2
import unittest
class TestMickeyMouse(unittest.TestCase):
def test_1plus1is2(self):
self.assertTrue(1+1 == 2)
def test_to_uppercase(self):
self.assertEqual("hello".upper(), "HELLO")
if __name__ == "__main__":
unittest.main()
Если я бегу nose2 mickey_mouse_test
в том же каталоге, он запускает все тесты в модуле:
[email protected]:~/Documents/Scratch$ nose2 mickey_mouse_test
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
Однако, если я пытаюсь запустить только test_to_uppercase
как и я получаю сообщение об ошибке:
[email protected]:~/Documents/Scratch$ nose2 mickey_mouse_test.test_to_uppercase
E
======================================================================
ERROR: mickey_mouse_test.test_to_uppercase (nose2.loader.LoadTestsFailure)
----------------------------------------------------------------------
AttributeError: module 'mickey_mouse_test' has no attribute 'test_to_uppercase'
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
Если я использую вариант -s
я все еще получаю ошибку, Albe он другой один:
[email protected]:~/Documents/Scratch$ nose2 -s mickey_mouse_test.test_to_uppercase
E
======================================================================
ERROR: mickey_mouse_test.test_to_uppercase (nose2.loader.LoadTestsFailure)
----------------------------------------------------------------------
OSError: /home/kurt/Documents/Scratch/mickey_mouse_test.test_to_uppercase is not a directory
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
Я также попытался читать «Задание тестов для запуска» раздел в http://nose2.readthedocs.io/en/latest/usage.html, в котором говорится, что «Python объект часть» должен быть «пунктирная имя». Я не понимаю, почему в этом случае mickey_mouse_test.test_to_uppercase
не является «пунктирным именем». Любые идеи, почему это не работает?