如何构建营销活动平台(五):单元测试

a 夏天 提交于 2019-11-27 09:56:08

接入指南

  1. 同步仓库到本地

    git clone https://github.com/caisl/activity-platform.git

  2. 根据实际业务调整代码

  • DB设计
    activity-platform对营销活动流程框架和规则引擎提供了详细的设计和分析,DB请根据实际的需求设计,这里就不提供详细的内容。

  • 新活动接入

    举例:接入新人有礼活动,实现FunctionCodeEnum.ACTIVITY_PARTICIPATE:

    1. 创建请求响应对象NewCustomerPartRequest,NewCustomerPartResponse,定义属性
    2. 创建数据传输对象NewCustomerPartDTO,在实际实现过程中填充参数
    3. 创建业务处理类NewCustomerActivityParser,NewCustomerActivityHandler,填充路由注解,实现方法细节
  • 新functionCode接入

    举例:接入活动发布功能
    1.FunctionCodeEnum定义新的CODE:FunctionCodeEnum.ACTIVITY_RELEASE
    2.需求分析,功能抽象,由IActivityHandler派生新的子类,定义模板方法
    3.具体活动接入同新活动接入流程,创建并且实现对应的子类

单测运行效果

  1. 活动执行模型单测

    @link com.caisl.ap.activity.ActivityDispatcherTest.dispatcherTest

    控制栏输出如下

    2019-02-18 15:22:26,087 INFO BUSINESS [LogUtil.java:52] 执行com.caisl.ap.activity.request.NewCustomerPartRequest开始 context:{“activityType”:1,“functionCode”:“ACTIVITY_PARTICIPATE”,“request”:{“channelId”:“WECHAT”,“customerRegisterId”:“caisl”}}

    2019-02-18 15:22:26,087 INFO BUSINESS [LogUtil.java:52] do queryDB

    2019-02-18 15:22:26,088 INFO BUSINESS [LogUtil.java:52] do assembleDTO

    2019-02-18 15:22:26,088 INFO BUSINESS [LogUtil.java:52] do buildRules

    2019-02-18 15:22:26,088 INFO BUSINESS [LogUtil.java:52] do doAction

    2019-02-18 15:22:26,089 INFO BUSINESS [LogUtil.java:52] do buildResponse

    2019-02-18 15:22:26,093 INFO BUSINESS [LogUtil.java:52] 执行com.caisl.ap.activity.request.NewCustomerPartRequest结束 time:123context:{“activityDTO”:{“rules”:[]},“activityType”:1,“functionCode”:“ACTIVITY_PARTICIPATE”,“request”:{“channelId”:“WECHAT”,“customerRegisterId”:“caisl”}}response:{}

  2. 规则引擎单测

    @link com.caisl.ap.rule.ActivityRuleEngineTest.singleRuleTest

    控制栏输出如下

    class com.caisl.ap.rule.checker.StartTimeRuleChecker do validate

    还未到开始时间

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!