如何在Pivotal CRM上对ASR进行单元测试

时间:2009-02-13 09:04:21

标签: unit-testing pivotal-crm

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

编辑:我认为一种简单但不完美的测试方式。但我愿意将赏金给予任何给予最小分析的人。

3 个答案:

答案 0 :(得分:1)

好问题。我会在已实现的方法上注入存根或模拟来设置测试。所以,如果我实现如下的IRFormScript接口。我可以使用实现IRForm接口的存根来设置注入到我的方法中的表单对象的期望。其中一些参数也只是字符串,所以这些很容易。您还必须将任何其他接口存根到Pivotal,以便在不实际访问真实系统的情况下测试您的功能。(IRSystem7,DataAccess等)希望这会有所帮助! Brandon Joyce

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();
    }     
}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我会考虑将任何内容编程到Pivotal CRM中。 CDC对现代编程技术并不熟悉。将其视为“仅在绝对必要时调整”平台,您将会做得很好。

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

我之所以这么说,是因为我直接了解了使用错误所带来的痛苦。我和它一起工作了6年。