当前位置: 首页 > news >正文

自己给别人做网站挣钱吗不同类型的网站

自己给别人做网站挣钱吗,不同类型的网站,word 关于做网站,wordpress 分类输出样式Mockito是一个Java单元测试框架#xff0c;它允许开发者创建和配置模拟对象#xff08;mock objects#xff09;#xff0c;以便在隔离的环境中测试代码#xff0c;尤其是当实际对象难以构造或其行为不确定时。下面是一些核心的Mockito API及其使用场景和代码示例。 基础…Mockito是一个Java单元测试框架它允许开发者创建和配置模拟对象mock objects以便在隔离的环境中测试代码尤其是当实际对象难以构造或其行为不确定时。下面是一些核心的Mockito API及其使用场景和代码示例。 基础API 创建Mock对象 Mock 注解或 Mockito.mock(ClassT classToMock) 方法用于创建mock对象。 场景: 当你需要模拟一个类的行为以便测试依赖于它的类或方法时。 示例: Mock ListString mockedList;// 或者 ListString mockedList Mockito.mock(List.class);定义Mock行为 Mockito.when(mockedMethodCall).thenReturn(value) 定义当特定方法被调用时应返回的值。 场景: 你想要控制模拟对象在特定调用下的响应。 示例: Mockito.when(mockedList.get(0)).thenReturn(first);验证交互 Mockito.verify(mockedObject).methodCall(arguments) 验证某个方法是否按照预期被调用了。 场景: 验证测试过程中mock对象的某个方法确实被正确调用。 示例: mockedList.add(one); Mockito.verify(mockedList).add(one);捕获参数 使用 ArgumentCaptor 捕获传递给mock方法的参数以便进一步检查。 场景: 需要检查方法调用的具体参数时。 示例: ArgumentCaptorString argument ArgumentCaptor.forClass(String.class); Mockito.verify(mockedList).add(argument.capture()); assertEquals(captured, argument.getValue());设置异常 Mockito.when(mockedMethodCall).thenThrow(exception) 用于模拟方法抛出异常。 场景: 测试代码对异常的处理逻辑。 示例: Mockito.when(mockedList.get(999)).thenThrow(new IndexOutOfBoundsException());具体使用场景示例 假设你有一个UserService类它依赖于UserRepository来获取用户信息。你想测试UserService的getUserById方法但不希望真实地查询数据库。 public class UserService {private UserRepository userRepository;public UserService(UserRepository userRepository) {this.userRepository userRepository;}public User getUserById(int id) {return userRepository.findById(id);} }public interface UserRepository {User findById(int id); }测试类使用Mockito模拟UserRepository import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.when;class UserServiceTest {MockUserRepository userRepository;private UserService userService;BeforeEachvoid setUp() {userService new UserService(userRepository);}Testvoid getUserById_ReturnsUser() {// 创建模拟行为User mockUser new User(1, John Doe);when(userRepository.findById(1)).thenReturn(mockUser);// 调用待测试方法User result userService.getUserById(1);// 验证结果assertEquals(mockUser, result);// 验证交互Mockito.verify(userRepository).findById(1);} }在这个例子中UserRepository被模拟其findById方法被设定为返回一个预设的User对象从而允许我们专注于测试UserService的逻辑而不必关心数据库操作的细节。 当然除了基本的Mock对象之外Mockito还提供了Spy功能以及其他一些高级特性以满足更复杂的测试需求。下面我将继续介绍这些内容。 Spy Spy与Mock相似但它会委托真实对象执行未被模拟的方法调用只有被明确指定的方法才会被模拟。这在你需要大部分保留原有对象行为仅修改或监控部分行为时非常有用。 API: Mockito.spy(Object object) 创建一个Spy对象。 场景: 当你希望大部分情况下使用真实对象的行为只在某些特定方法上进行模拟或验证时。 示例: public class Calculator {public int add(int a, int b) {return a b;}public int subtract(int a, int b) {return a - b;} }Test void testSpy() {Calculator realCalculator new Calculator();Calculator spyCalculator Mockito.spy(realCalculator);// 模拟add方法的行为when(spyCalculator.add(1, 1)).thenReturn(3);// 调用真实subtract方法int result spyCalculator.subtract(5, 2);// 验证add方法的模拟行为assertEquals(3, spyCalculator.add(1, 1));// 验证subtract方法的调用及结果assertEquals(3, result);verify(spyCalculator).subtract(5, 2); }其他高级API DoAnswer: 提供更灵活的方式来定义模拟方法的行为可以基于回调函数执行自定义逻辑。 示例: doAnswer(invocation - {Object[] args invocation.getArguments();return args[0] args[1]; }).when(someMock).someMethod(anyInt(), anyInt());BDD风格: Mockito提供了一套行为驱动开发(Behavior-Driven Development)风格的API使得测试代码更加可读。 示例: given(mockedList.get(0)).willReturn(first); then(mockedList).should().add(one);MockitoJUnitRunner: 使用这个Runner可以自动初始化使用Mock或Spy注解的字段无需在每个测试方法中手动初始化。 示例: RunWith(MockitoJUnitRunner.class) public class MyTestClass {MockListString mockedList;// 测试方法... }MockitoAnnotations.openMocks(this): 如果不使用MockitoJUnitRunner可以在测试类的setUp方法中手动打开Mockito注解。 示例: BeforeEach public void setUp() {MockitoAnnotations.openMocks(this); }通过结合使用这些APIMockito能够帮助开发者编写更加高效、精确的单元测试确保代码质量。 使用说明 具体使用说明和示例你可以参考以下资源 官方文档: 访问Mockito官方网站查看最新的官方文档包括API参考和用户指南。在线教程: 网站如Stack Overflow上有大量关于Mockito使用的问答涵盖了从基础到高级的各个方面。技术博客: CSDN、博客园等技术社区有大量Mockito的教程和实践分享比如通过搜索“Mockito进阶使用”、“Mockito详尽教程”等关键词。
文章转载自:
http://www.morning.qzqjz.cn.gov.cn.qzqjz.cn
http://www.morning.xbmwh.cn.gov.cn.xbmwh.cn
http://www.morning.lctrz.cn.gov.cn.lctrz.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.slysg.cn.gov.cn.slysg.cn
http://www.morning.hghhy.cn.gov.cn.hghhy.cn
http://www.morning.wqfj.cn.gov.cn.wqfj.cn
http://www.morning.crhd.cn.gov.cn.crhd.cn
http://www.morning.alwpc.cn.gov.cn.alwpc.cn
http://www.morning.stlgg.cn.gov.cn.stlgg.cn
http://www.morning.wrkcw.cn.gov.cn.wrkcw.cn
http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn
http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn
http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn
http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn
http://www.morning.mzhgf.cn.gov.cn.mzhgf.cn
http://www.morning.mtqqx.cn.gov.cn.mtqqx.cn
http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn
http://www.morning.fhkr.cn.gov.cn.fhkr.cn
http://www.morning.hcgbm.cn.gov.cn.hcgbm.cn
http://www.morning.hwlk.cn.gov.cn.hwlk.cn
http://www.morning.wspyb.cn.gov.cn.wspyb.cn
http://www.morning.fkmyq.cn.gov.cn.fkmyq.cn
http://www.morning.rdxp.cn.gov.cn.rdxp.cn
http://www.morning.hpggl.cn.gov.cn.hpggl.cn
http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn
http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn
http://www.morning.tlfyb.cn.gov.cn.tlfyb.cn
http://www.morning.plwfx.cn.gov.cn.plwfx.cn
http://www.morning.kyhnl.cn.gov.cn.kyhnl.cn
http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn
http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn
http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn
http://www.morning.hbdqf.cn.gov.cn.hbdqf.cn
http://www.morning.pznhn.cn.gov.cn.pznhn.cn
http://www.morning.xfwnk.cn.gov.cn.xfwnk.cn
http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn
http://www.morning.cfnsn.cn.gov.cn.cfnsn.cn
http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn
http://www.morning.yqwrj.cn.gov.cn.yqwrj.cn
http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn
http://www.morning.qsy38.cn.gov.cn.qsy38.cn
http://www.morning.clbsd.cn.gov.cn.clbsd.cn
http://www.morning.nyqb.cn.gov.cn.nyqb.cn
http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn
http://www.morning.fhqsm.cn.gov.cn.fhqsm.cn
http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn
http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn
http://www.morning.xbwqg.cn.gov.cn.xbwqg.cn
http://www.morning.nzwp.cn.gov.cn.nzwp.cn
http://www.morning.splkk.cn.gov.cn.splkk.cn
http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn
http://www.morning.gbcxb.cn.gov.cn.gbcxb.cn
http://www.morning.njftk.cn.gov.cn.njftk.cn
http://www.morning.rlqwz.cn.gov.cn.rlqwz.cn
http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn
http://www.morning.jkfyt.cn.gov.cn.jkfyt.cn
http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn
http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn
http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn
http://www.morning.wnjwb.cn.gov.cn.wnjwb.cn
http://www.morning.wctqc.cn.gov.cn.wctqc.cn
http://www.morning.rwqj.cn.gov.cn.rwqj.cn
http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn
http://www.morning.gjfym.cn.gov.cn.gjfym.cn
http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn
http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn
http://www.morning.nqrlz.cn.gov.cn.nqrlz.cn
http://www.morning.mxbks.cn.gov.cn.mxbks.cn
http://www.morning.wklyk.cn.gov.cn.wklyk.cn
http://www.morning.crtgd.cn.gov.cn.crtgd.cn
http://www.morning.dnydy.cn.gov.cn.dnydy.cn
http://www.morning.pszw.cn.gov.cn.pszw.cn
http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn
http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn
http://www.morning.fpqq.cn.gov.cn.fpqq.cn
http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn
http://www.morning.lhsdf.cn.gov.cn.lhsdf.cn
http://www.tj-hxxt.cn/news/278969.html

相关文章:

  • 微信小程序下单怎么弄商家班级优化大师电脑版
  • 廊坊做网站厂商定制昆明小程序开发公司电话
  • 湛江公司做网站网站建设和前端开发的区别
  • 网站建设预付款如何付淘宝做网站的公司
  • 房地产网站建设公司erp是什么系统软件
  • 大连做网站优化哪里网页建设便宜
  • 网站后台设计教程视频seo论坛
  • 亚马逊站外推广网站岳阳网站开发网站运营哪家好
  • 广州网站建设定制多少钱免费行情网站app斗印
  • 做网站申请完空间后下一步干啥台州网站的优化
  • 镇江网站制作咨询高校招生网站建设
  • 微信官网下载安装网站推广优化服务
  • 网站建设和咨询服务合同网站前台登陆页面怎么改
  • 农家乐网站 建设烟台网站建设 58
  • wordpress建站指南手机建站平台淘客
  • 好的交互设计网站vps搭建wordpress个人
  • 网站搭建的外贸用什么网站开发客户
  • 有哪些做婚礼平面设计的网站有哪些类似小红书网站开发费用
  • 网站二维码怎么制作室内设计公司职位
  • 企业网站托管一个月多少钱上海工商网上注册大厅
  • 网站开发合作协议网站怎么加二级域名
  • 网站建设主要干什么赣州91人才网赣州招聘信息
  • 不同企业的网络营销网站社群营销与运营
  • 有源码如何搭建网站单仁资讯做网站怎样
  • 理财网网站开发源码h5wordpress 动作
  • 绍兴外贸网站建设众v创业营网站建设
  • 微网站建站wordpress默认头像不显示不出来
  • 网站提交链接入口我们提供的网站建设
  • eclipse视频网站开发江阴公司做网站
  • 完整域名展示网站源码网站开发与管理对应的职业及岗位