Python unittest,跳过没有输入的测试

Python unittest,跳过没有输入的测试,python,python-3.x,unit-testing,python-unittest,Python,Python 3.x,Unit Testing,Python Unittest,我已经为几个函数编写了测试,其中一些函数需要用户的输入。我使用unittest库中的mock.patch模拟用户输入 class TestCodes(unittest.TestCase): @mock.patch('builtins.input', side_effect=[1]) def testNames(self, mock_input): """ Tests function 1 """ self.asse

我已经为几个函数编写了测试,其中一些函数需要用户的输入。我使用unittest库中的mock.patch模拟用户输入

class TestCodes(unittest.TestCase):

    @mock.patch('builtins.input', side_effect=[1])
    def testNames(self, mock_input):
        """
        Tests function 1
        """
        self.assertEqual(functionOne('input'), 1337)


    @mock.patch('builtins.input', side_effect=[-1])
    def testRepeater(self, mock_input):
        """
        Tests that the output is equal to the input
        """
        self.assertEqual(functionTwo('test1'), -1)
这一切都运行得很好(在0.018s中运行了2次测试)。但是,当我添加另一个不使用模拟输入的测试时,unittest会跳过所有需要输入的测试(见下文)


在0.007s中运行1个测试

不相关,但由于
内置.input
返回一个
str
,模拟版本也应该是:
副作用=[“1”]
,等等。您能否提供一个完整的示例(包括测试函数的定义、如何运行测试的演示等)这样这里的人就可以重复这个问题了?
class TestCodes(unittest.TestCase):

    @mock.patch('builtins.input', side_effect=[1])
    def testNames(self, mock_input):
        """
        Tests function 1
        """
        self.assertEqual(functionOne('input'), 1337)


    @mock.patch('builtins.input', side_effect=[-1])
    def testRepeater(self, mock_input):
        """
        Tests that the output is equal to the input
        """
        self.assertEqual(functionTwo('test1'), -1)


    def testFunniness(self):
       self.assertEqual(functionThree('test4'), 42)