Регистрация  |  Вход

Method does not exist or incorrect signature: test.startTest()

С недавнего времени на одном орге заметил странную вещь, на все конструкции кода типа:


    test.startTest()
    test.stopTest()
    test.isRunningTest()

При сохранении или деплое ругается следующим образом:
Method does not exist or incorrect signature: test.startTest()
и нет возможности сохранить классы содержащие данные конструкции.

Погуглив нашел возможную причину: "На орге присутствует class test", когда такое происходит SF перестает считать указанные ранее функции стандартными, а считает их заданными для кастомного класса, что и вызывает ошибку. Но в моем случае такого класса на ОРГе нет. Код не сохраняется ни в web ни в Эклипсе.

С недавнего времени на одном орге заметил странную вещь, на все конструкции кода типа:
[list]
test.startTest()
test.stopTest()
test.isRunningTest()
[/list]
При сохранении или деплое ругается следующим образом:
Method does not exist or incorrect signature: test.startTest()
и нет возможности сохранить классы содержащие данные конструкции.

Погуглив нашел возможную причину: "На орге присутствует class test", когда такое происходит SF перестает считать указанные ранее функции стандартными, а считает их заданными для кастомного класса, что и вызывает ошибку. Но в моем случае такого класса на ОРГе нет. Код не сохраняется ни в web ни в Эклипсе.

посмотри на орге случайно нет ли кастомного класса Test.cls
Можно сделать так System.Test.startTest() (самому недавно подсказал хороший человек)

посмотри на орге случайно нет ли кастомного класса Test.cls
Можно сделать так System.Test.startTest() (самому недавно подсказал хороший человек)


посмотри на орге случайно нет ли кастомного класса Test.cls

Смотрел, но так и не нашел...
System.Test.startTest()

пробывал, но не помогает...

[quote]посмотри на орге случайно нет ли кастомного класса Test.cls [/quote]
Смотрел, но так и не нашел...
[quote]System.Test.startTest()[/quote]
пробывал, но не помогает...

Было такое, можешь привести чуть больше кода, проблема скорее всего в синтаксисе ближайших строчек

Было такое, можешь привести чуть больше кода, проблема скорее всего в синтаксисе ближайших строчек

Roman Bazylev
пробывал, но не помогает...

ну тут точно дело не в этой строке. не может такого быть чтобы она ТОЛЬКО у тебя не работало.
Точно смотри что вокруг

[quote="Roman Bazylev"]пробывал, но не помогает...[/quote]
ну тут точно дело не в этой строке. :) не может такого быть чтобы она ТОЛЬКО у тебя не работало.
Точно смотри что вокруг :) 

Пробывал закоментировать эти строки, тогда классы нормально сохраняются, вот пример самого простого что я хочу сохранить:

@isTest
private class ArtSomeTest {

public static testmethod void testMethodCls() {

// set variables
String str = 'test';

// run test
test.startTest();
system.assertEquals('test', str);
test.stopTest();
}

}

Вот к примеру даже такое сохранить не могу.

Все очень похоже на наличие класса Test, но его попросту нет на ОРГЕ.

Пробывал закоментировать эти строки, тогда классы нормально сохраняются, вот пример самого простого что я хочу сохранить:
[code]@isTest
private class ArtSomeTest {

	public static testmethod void testMethodCls() {

		// set variables
		String str = 'test';

		// run test
		test.startTest();
			system.assertEquals('test', str);
		test.stopTest();
	}

}[/code]

Вот к примеру даже такое сохранить не могу.

Все очень похоже на наличие класса Test, но его попросту нет на ОРГЕ.

Ну реально что-то у тебя персонально не так - у меня отлично сохранилось.
Ищи у себя на орге класс test, может пакетный. Хотя System.Test.startTest(); должен был помочь!
Больше вариантов нет.

Ну реально что-то у тебя персонально не так - у меня отлично сохранилось.
Ищи у себя на орге класс test, может пакетный. Хотя System.Test.startTest(); должен был помочь!
Больше вариантов нет.

Спасибо wilder !
Таки был на орге такой класс, но почему то эклипс при ретриве классов с орга его не забрал =(

Но если такой класс был и System.Test.startTest() - не помогал, значит не рабочая конструкция, т.е. SF все равно дает приоритет кастомному классу с именем test!

Спасибо wilder !
Таки был на орге такой класс, но почему то эклипс при ретриве классов с орга его не забрал =(

Но если такой класс был и System.Test.startTest() - не помогал, значит не рабочая конструкция, т.е. SF все равно дает приоритет кастомному классу с именем test!

Roman Bazylev
Спасибо wilder !

[quote="Roman Bazylev"]Спасибо wilder ! [/quote]
:D