Интеграционное тестирование CRM Online 2011 работает в производственной среде - PullRequest
3 голосов
/ 13 декабря 2011

Я пишу код для Dynamics CRM Online 2011.

Я бы хотел, чтобы набор интеграционных тестов был запущен в CRM Online и имел возможность проверить:

  • Некоторые записи журнала
  • Ошибка подтверждения

Под контролем бегуна на моей локальной машине.

Прямо сейчас я делаю:

var passes = new List<string>();
var fails = new List<Tuple<string,Exception>>();
foreach(Action<StringWriter> testAction in EnumTests())
{
    var log = stringWriter();
    try 
    {
        testAction(log);
        passes.Add(log.ToString());
    }
    catch(Exception e)
    {
        fails.Add(log.ToString(),e);
    }
}

throw new Exception( "PASSES: " + string.Join("======", passes.ToArray()) 
    + "FAILS: " + string.Join("=======",fails.Select(f=>f.ToString()).ToArray());

Я запускаю этот код с помощью действия плагина, связанного с Contact Create:

  1. загрузить плагин
  2. создать контакт
  3. хит сохранить
  4. скачать файл данных об исключениях

Должен быть лучший способ, но я просто не могу найти никаких ссылок в документах, блогах или форумах) на запуск кода плагина с помощью теста (и получение вывода исключения).

Я хочу иметь возможность вызывать метод в плагине, а затем возвращать результаты, включая полную трассировку стека и вывод журнала, в контексте теста xUnit.

Это возможно? Другие сделали что-нибудь подобное? Разумеется, не все разработчики CRM 2011 застряли в петле мыши с помощью петли мыши?


NB. Я не заинтересован в отладке на предпосылке и в идеале предпочел бы не хранить результаты в сделанных на заказ объектах. Я знаю, что мог бы скрапбить страницу, но надеюсь, что есть какой-то способ сделать эквивалент вызова веб-службы. Или что у кого-то есть хорошая структура, которая просто делает все это (или я могу настроить).

РЕДАКТИРОВАТЬ: Похоже, я, вероятно, в конечном итоге спросит, есть ли у кого-нибудь хороший код WatiN против CRM Online дальше

1 Ответ

2 голосов
/ 15 декабря 2011

Я не уверен, что понимаю все, чего вы хотите достичь, но я держу пари, основываясь на вашем комментарии, на который вы уже смотрели Инструменты тестирования плагинов CRM 2011 на codePlex. Как в описании проекта, так и в примечаниях к выпуску упоминается, что сотрудник MS помогал в разработке этого проекта, вы можете быстро увидеть, что поддержка MS того, о чем вы просите, ограничена.

Как упоминал Джон С. Джош Пейнтер упомянул в ответе на другой вопрос , что вы можете использовать встроенный отладчик плагинов, который будет выполняться на клиентском компьютере.

Кроме того, Эрик Пул разместил в своем блоге отличную запись о создании экземпляра IPluginExecutionContext для ваших плагинов вручную.

Надеюсь, что одно из этих трех решений сработает!

...