1

我正在使用 Pivotal CRM,但我没有找到简单的方法为该软件的 ASR 编写单元测试代码。你有这个软件的编程测试经验吗?

编辑:我想到了一种简单但不完美的测试方式。但我愿意将赏金提供给任何提供最小洞察力的人。

4

3 回答 3

1

好问题。我会在实现的方法上注入存根或模拟来设置测试。因此,如果我实现如下所示的 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();
    }     
}
于 2009-03-11T17:41:43.230 回答
0

对于将任何内容编程到 Pivotal CRM 中,我会三思而后行。CDC 只是不适应现代编程技术。将其视为“仅在绝对必要时进行调整”的平台,您会做得很好。

我并不是要严厉,但如果您在 stackoverflow.com 上发布有关 Pivotal CRM 的问题,那么您可能使用错了 Pivotal CRM。

我这样说是因为我亲身了解错误使用它所带来的痛苦。我用它工作了 6 年。

于 2011-01-28T16:31:19.180 回答
0

我找到的唯一可能的答案是将逻辑移至 ASR 调用的其他类。这样你就可以对类进行单元测试。ASR 变得更加复杂,只能作为集成测试的一部分进行测试。

于 2009-02-19T12:12:36.807 回答