广告投放系统的测试用例

package com.imooc.ad.service;import com.imooc.ad.Application;
import com.imooc.ad.exception.AdException;
import com.imooc.ad.vo.AdPlanGetRequest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import java.util.Collections;@RunWith(SpringRunner.class)
@SpringBootTest(classes = {Application.class},webEnvironment = SpringBootTest.WebEnvironment.NONE)
public class AdPlanServiceTest {@Autowiredprivate IAdPlanService planService;@Testpublic void testGetAdPlan() throws AdException {System.out.println(planService.getAdPlanByIds(new AdPlanGetRequest(15L, Collections.singletonList(10L))));}
}

广告检索系统的测试用例

1.创建Application类

package com.imooc.ad;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** Created by Qinyi.*/
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
package com.imooc.ad.search;import com.alibaba.fastjson.JSON;
import com.imooc.ad.Application;
import com.imooc.ad.search.vo.SearchRequest;
import com.imooc.ad.search.vo.feature.DistrictFeature;
import com.imooc.ad.search.vo.feature.FeatureRelation;
import com.imooc.ad.search.vo.feature.ItFeature;
import com.imooc.ad.search.vo.feature.KeywordFeature;
import com.imooc.ad.search.vo.media.AdSlot;
import com.imooc.ad.search.vo.media.App;
import com.imooc.ad.search.vo.media.Device;
import com.imooc.ad.search.vo.media.Geo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import java.util.Arrays;
import java.util.Collections;
import java.util.List;/*** Created by Qinyi.*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {Application.class},webEnvironment = SpringBootTest.WebEnvironment.NONE)
public class SearchTest {@Autowiredprivate ISearch search;@Testpublic void testFetchAds() {SearchRequest request = new SearchRequest();request.setMediaId("imooc-ad");// 第一个测试条件request.setRequestInfo(new SearchRequest.RequestInfo("aaa",Collections.singletonList(new AdSlot("ad-x", 1,1080, 720, Arrays.asList(1, 2),1000)),buildExampleApp(),buildExampleGeo(),buildExampleDevice()));request.setFeatureInfo(buildExampleFeatureInfo(Arrays.asList("宝马", "大众"),Collections.singletonList(new DistrictFeature.ProvinceAndCity("安徽省", "合肥市")),Arrays.asList("台球", "游泳"),FeatureRelation.OR));System.out.println(JSON.toJSONString(request));System.out.println(JSON.toJSONString(search.fetchAds(request)));// 第二个测试条件request.setRequestInfo(new SearchRequest.RequestInfo("aaa",Collections.singletonList(new AdSlot("ad-y", 1,1080, 720, Arrays.asList(1, 2),1000)),buildExampleApp(),buildExampleGeo(),buildExampleDevice()));request.setFeatureInfo(buildExampleFeatureInfo(Arrays.asList("宝马", "大众", "标志"),Collections.singletonList(new DistrictFeature.ProvinceAndCity("安徽省", "合肥市")),Arrays.asList("台球", "游泳"),FeatureRelation.AND));System.out.println(JSON.toJSONString(request));System.out.println(JSON.toJSONString(search.fetchAds(request)));}private App buildExampleApp() {return new App("imooc", "imooc","com.imooc", "video");}private Geo buildExampleGeo() {return new Geo((float) 100.28, (float) 88.61,"北京市", "北京市");}private Device buildExampleDevice() {return new Device("iphone","0xxxxx","127.0.0.1","x","1080 720","1080 720","123456789");}private SearchRequest.FeatureInfo buildExampleFeatureInfo(List<String> keywords,List<DistrictFeature.ProvinceAndCity> provinceAndCities,List<String> its,FeatureRelation relation) {return new SearchRequest.FeatureInfo(new KeywordFeature(keywords),new DistrictFeature(provinceAndCities),new ItFeature(its),relation);}
}

编写广告系统的测试用例相关推荐

  1. [Spring cloud 一步步实现广告系统] 20. 系统运行测试

    系统运行 经过长时间的编码实现,我们的主体模块已经大致完成,因为之前我们都是零散的对各个微服务自行测试,接下来,我们需要将所有的服务模块进行联调测试,Let's do it. 清除测试数据&测 ...

  2. [Spring cloud 一步步实现广告系统] 13. 索引服务编码实现

    上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护.因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能. 我们来定义一个接口, ...

  3. Mesos container在360广告系统的应用

    女主宣言 本文来自4月14号360高级工程师李冬在第九期360互联网技术训练营上的分享.作者将技术与业务相结合,讲解Mesos与container的技术架构,面对当前的业务痛点,可以解决哪些问题,并且 ...

  4. 如何在有限的时间内编写完整有效的测试用例?

    在软件测试工作中,有一种直接拿到软件就测试的做法,它已经被大家认为是无效的软件测试,那么怎么分配时间来完成软件测试用例的编写,并且还要在有限的时间里?欢迎大家进行讨论与交流! 分析这个问题,我想先从两 ...

  5. 广告系统架构:要啥自行车!

    ◆◆◆ 6. 广告系统构架:要啥自行车! 一句话解释广告系统架构:"道生一,一生二,二生三,三生万物." 场景1 坐在车里,手机打开为知笔记,想再瞅一眼的树的几种遍历方法.眼睛跟着 ...

  6. 微软张若非:搜索引擎和广告系统,那些你所不知的AI落地技术

    [12月公开课预告],入群直接获取报名地址 12月11日晚8点直播主题:人工智能消化道病理辅助诊断平台--从方法到落地 12月12日晚8点直播:利用容器技术打造AI公司技术中台 12月17日晚8点直播 ...

  7. [Spring cloud 一步步实现广告系统] 22. 广告系统回顾总结

    到目前为止,我们整个初级广告检索系统就初步开发完成了,我们来整体回顾一下我们的广告系统. 整个广告系统编码结构如下: 1.mscx-ad 父模块 主要是为了方便我们项目的统一管理 2.mscx-ad- ...

  8. [Spring cloud 一步步实现广告系统] 21. 系统错误汇总

    广告系统学习过程中问题答疑 博客园 Eureka集群启动报错 Answer 因为Eureka在集群启动过程中,会连接集群中其他的机器进行数据同步,在这个过程中,如果别的服务还没有启动完成,就会出现Co ...

  9. [Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard

    在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件. ...

  10. [Spring cloud 一步步实现广告系统] 12. 广告索引介绍

    索引设计介绍 在我们广告系统中,为了我们能更快的拿到我们想要的广告数据,我们需要对广告数据添加类似于数据库index一样的索引结构,分两大类:正向索引和倒排索引. 正向索引 通过唯一键/主键生成与对象 ...

最新文章

  1. JQ实现导航效果(附效果图)
  2. rsa python实现_RSA算法python实现
  3. mysql读写分离实现_脱离开发:Mysql读写分离方案之一
  4. java的jdbc驱动server_win7下java用jdbc驱动来连接sql server的方法 (转载)
  5. java-synchronized
  6. js生成随机不重复数字的几种方法
  7. python中碰撞的代码_Python…Tkinter碰撞
  8. error processing request什么意思_从processing到Touchdesigner小教程
  9. 虚拟化部署----USB Server
  10. 如何在esxi环境安装硬件VIB驱动。
  11. 指数灰度变换法 matlab,matlab指数灰度变换
  12. 物是人非事事休,欲语泪先流 的出处[z]
  13. TCP/IP第三章笔记IP网际协议
  14. AutoCAD.Net二次开发 致命错误 “unhandled access violation reading xxx...”的处理经验
  15. mysql中对当前时间函数now()的操作
  16. 基于simulink的FM调制解调系统仿真
  17. 访问者模式:访客与房间的友好互动
  18. 方便实用的文档管理小程序
  19. PCIe 链路训练学习---------Training Sequence (TS1 TS2序列)
  20. java oss 批量传输_软件神器 I 图片批量压缩改名工具Caesium汉化版

热门文章

  1. 学而思王帆初中语文教学视频
  2. lodash中curry的实现
  3. 2022-2028全球粉尘检测仪行业调研及趋势分析报告
  4. 人脸特征点定位方法DEST, 基于VS2019+OpenCV3.4.6
  5. DTOJ3026 geronimo
  6. Linux同步系统时间
  7. 在php内乱码如何动态的进行解决掉
  8. 微信抢红包的方案_高并发10-微信抢红包实现
  9. python click 函数
  10. 三国杀全武将台词大全(标准+神话再临+一将成名12345+SP+国战+其他+皮肤,更新中)