Pytest抛出警告字符串>:1:DeprecationWarning:无效的转义序列\ s

时间:2019-01-04 22:10:24

标签: python unit-testing pytest

当我执行pytest单元测试时,我得到以下警告

  

qualys / tests / test_scan.py :: TestQualysScan :: test_w字符串>:1:   DeprecationWarning:无效的转义序列\ s

我已经在我的代码中搜索了任何'\s',发现很少包含在原始字符串(r'...')中,所以应该没问题。

我也没有获得

1的含义
  

字符串>:1:

应该是字符串还是行号?

您对如何解决它或如何获得确切的行号有什么建议?

class TestQualysScan:
    def test_w(self, mock_mysqlApi, mock_qualysRequest):
        test_scan = QualysScan(mock_qualysRequest(), 'EMEA', [mock_qualysServer], 'test_scan',
                               mysqlApi=mock_mysqlApi(ops_server_table_sample[0]))
        assert True

和固定装置:

@pytest.fixture
def mock_mysqlApi():
    def _mock_mysqlApi_factory (db_entry_dict):
        mock_mysqlApi = MagicMock(spec=MysqlApi)
        mock_cursor = MagicMock(spec=DictCursorLogged)
        mock_mysqlApi.get_cursor().__enter__.return_value = mock_cursor
        mock_cursor.fetchone.return_value = db_entry_dict
        mock_cursor.fetchall.return_value = db_entry_dict

        return mock_mysqlApi
    return _mock_mysqlApi_factory

@pytest.fixture
def instance_qualysRequest(mock_mysqlApi, mock_qualysApi):
    def _qualysRequest_factory(data):
        test_request = QualysRequest(data['id'], qualysApi=mock_qualysApi, mysqlApi=mock_mysqlApi(data))
        return test_request
    return _qualysRequest_factory

1 个答案:

答案 0 :(得分:1)

我已将pytest配置为将警告处理为错误(-W),因此它报告了准确的错误行,并且我能够确定问题所在:

 pytest.py -srapP -W error::DeprecationWarning -v