我正在使用Pivotal CRM,我找不到简单的方法来为这个软件的ASR编码单元测试。你有这个软件的编程测试经验吗?
编辑:我认为一种简单但不完美的测试方式。但我愿意将赏金给予任何给予最小分析的人。
答案 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年。