1

我正在我的 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 条记录。但是,在视觉强制页面中使用此查询时,该查询确实有效。

有什么想法吗?

4

1 回答 1

0

我在测试方法中使用限制子句测试了动态 SOQL,它运行良好,没有任何问题。

我建议您在断言之前放置一些 system.debug 以检查返回的帐户列表的大小。

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

于 2010-10-28T10:00:25.620 回答