在测试Dynamic SOQL时限制不起作用

时间:2010-10-22 14:54:28

标签: salesforce apex-code soql

我在我的apex测试代码中运行动态SOQL查询,并且LIMIT子句无效。但是在生产代码中使用它时似乎有效。

查询类似于以下内容。我使用表单中的一些术语动态构建where子句。

string query = 'SELECT name, billingstreet, billingpostalcode, phone ';
query += 'FROM Account WHERE ';
query += '(name LIKE \'%limited%\' OR name LIKE \'%LIMITED%\') ';
query += 'LIMIT 500';

List<Account> results = Database.query(query);

System.assert(results.size() <= 500);

这可能会失败,因为查询似乎在测试中返回了超过500条记录。但是,在可视化强制页面中使用此查询时,查询确实有效。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我在测试方法中使用限制条款测试了动态SOQL,它运行正常,没有任何问题。

我建议你在断言前加上一些system.debug来检查返回的帐户列表的大小。

希望通过这种方式你会知道发生了什么。