Je cours une requête SOQL dynamique dans mon code de test d'apex, et la clause LIMIT ne fonctionne pas. Il semble cependant fonctionner quand on l'utilise dans le code de production.La limite ne fonctionne pas lors du test de Dynamic SOQL
La requête est similaire à ci-dessous. Je construis dynamiquement la clause where en utilisant quelques termes d'un formulaire.
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);
Ceci peut échouer car la requête semble renvoyer bien plus de 500 enregistrements dans le test. La requête fonctionne cependant lors de l'utilisation dans une page de force visuelle.
Des pensées?
Vous pouvez essayer de poster sur le tableau des développeurs Salesforce, car cela ressemble à un bogue. http://boards.developerforce.com/sforce/?category.id=developers –
Merci .. Question ajoutée aux forums de discussion. – Xian
J'ai mis à jour la requête pour montrer que nous utilisions des caractères génériques dans la requête. Cela pourrait être une autre cause – Xian