Как выполнить модульное тестирование ASR на Pivotal CRM - PullRequest
1 голос
/ 13 февраля 2009

Я использую Pivotal CRM и не нахожу простых способов кодирования модульного теста для его ASR для этого программного обеспечения. Есть ли у вас опыт тестирования программного обеспечения для этого программного обеспечения?

Edit: я подумал, простой, но не идеальный способ тестирования. Но я готов дать Баунти любому, кто дает минимальное представление.

Ответы [ 3 ]

1 голос
/ 11 марта 2009

Отличный вопрос. Я бы вставлял заглушки или насмешки в реализованные методы для настройки теста. Так что, если я реализую интерфейс IRFormScript, как показано ниже. Я мог бы использовать заглушку, которая реализует интерфейс IRForm, чтобы настроить ожидания для объекта формы, который вставляется в мои методы. Некоторые из этих аргументов также являются строками, так что это легко. Вы также должны были бы заглушить любые другие интерфейсы для Pivotal, чтобы протестировать свою функциональность, фактически не затрагивая реальную систему (IRSystem7, DataAccess и т. Д.). Брэндон Джойс

public class TDD : Pivotal.Interop.RDALib.IRFormScript
{        
    public object AddFormData(Pivotal.Interop.RDALib.IRForm pForm, object Recordsets, ref object ParameterList)
    {
        throw new NotImplementedException();
    }

    public void DeleteFormData(Pivotal.Interop.RDALib.IRForm pForm, object RecordId, ref object ParameterList)
    {
        throw new NotImplementedException();
    }

    public void Execute(Pivotal.Interop.RDALib.IRForm pForm, string MethodName, ref object ParameterList)
    {
        throw new NotImplementedException();
    }

    public object LoadFormData(Pivotal.Interop.RDALib.IRForm pForm, object RecordId, ref object ParameterList)
    {
        throw new NotImplementedException();
    }

    public object NewFormData(Pivotal.Interop.RDALib.IRForm pForm, ref object ParameterList)
    {
        throw new NotImplementedException();
    }

    public void NewSecondaryData(Pivotal.Interop.RDALib.IRForm pForm, object SecondaryName, ref object ParameterList, ref Pivotal.Interop.ADODBLib.Recordset Recordset)
    {
        throw new NotImplementedException();
    }

    public void SaveFormData(Pivotal.Interop.RDALib.IRForm pForm, object Recordsets, ref object ParameterList)
    {
        throw new NotImplementedException();
    }

    public void SetSystem(Pivotal.Interop.RDALib.RSystem pSystem)
    {
        throw new NotImplementedException();
    }     
}
0 голосов
/ 28 января 2011

Я бы дважды подумал о программировании чего-либо в Pivotal CRM. CDC - это не просто современные методы программирования. Относитесь к ней как к «платформе только в случае необходимости», и у вас все получится.

Я не хочу быть резким, но если вы публикуете вопросы о Pivotal CRM на stackoverflow.com, то вы, вероятно, неправильно используете Pivotal CRM.

Я говорю это, потому что из первых рук знаю, какая боль возникает из-за неправильного использования. Я работал с ним в течение 6 лет.

0 голосов
/ 19 февраля 2009

Единственный возможный ответ, который я нахожу, - это переместить логику в другие предложения, чем будет вызвано ASR. Таким образом, вы можете юнит тестировать классы. ASR усложняется и будет тестироваться только как часть интеграционного теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...