我正在编写集成测试,为此我使用 TransactionScope(TransactionScopeAsyncFlowOption.Enabled)。我将一些数据添加到数据库(MS SQL Server),然后检查结果,比较它等。当测试通过时,新数据将不会保存在数据库中。所以这种方法总是很好用。当我调试测试时,我可以检查数据库中的新记录,例如
SELECT * FROM Users
WITH(NOLOCK)
Where UserId = 2
但是现在我在调试测试时需要检查 CONTAINS 谓词,例如
SELECT * FROM Users
WITH(NOLOCK)
WHERE CONTAINS(Surname, 'White')
这个查询只返回我的数据库中的现有记录,但它不返回我在测试中添加的未提交记录。“姓氏”字段当然接受全文搜索。我已阅读有关谓词 CONTAINS 的信息,但没有找到答案。谓词包含可以处理未提交的记录吗?如果是,怎么做?