当我执行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
答案 0 :(得分:1)
我已将pytest配置为将警告处理为错误(-W),因此它报告了准确的错误行,并且我能够确定问题所在:
pytest.py -srapP -W error::DeprecationWarning -v