代码之家  ›  专栏  ›  技术社区  ›  Xian

测试动态SOQL时限制不起作用

  •  1
  • Xian  · 技术社区  · 15 年前

    我正在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多条记录。但是,在visual force页面中使用此选项时,查询确实有效。

    有什么想法吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   imtimran    15 年前

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

    我建议你设置一些系统。在断言之前进行调试,以检查返回的帐户列表的大小。

    希望这样你会知道发生了什么。

    推荐文章