企业网站服务器跟域名都需要交钱吗做推广的公司

web/2025/9/26 14:47:58/文章来源:
企业网站服务器跟域名都需要交钱吗,做推广的公司,邯郸市人社局,梦幻西游官方网站昨天我在办公室里#xff0c;和我的一位同事谈论测试#xff0c;他对编写单元测试有些不服气。 他使用的原因之一是有些测试似乎毫无意义#xff0c;这使我想到了什么是单元测试#xff0c;什么也不需要打扰。 考虑下面一个简单的不可变的Name Bean#xff0c;其中包含一… 昨天我在办公室里和我的一位同事谈论测试他对编写单元测试有些不服气。 他使用的原因之一是有些测试似乎毫无意义这使我想到了什么是单元测试什么也不需要打扰。 考虑下面一个简单的不可变的Name Bean其中包含一个构造函数和一堆getter。 在这个示例中我将让代码说明一切因为我希望任何测试都是毫无意义的。 public class Name {private final String firstName;private final String middleName;private final String surname;public Name(String christianName, String middleName, String surname) {this.firstName christianName;this.middleName middleName;this.surname surname;}public String getFirstName() {return firstName;}public String getMiddleName() {return middleName;}public String getSurname() {return surname;} } ……只是为了强调这一点这是毫无意义的测试代码 public class NameTest {private Name instance;Beforepublic void setUp() {instance new Name(John, Stephen, Smith);}Testpublic void testGetFirstName() {String result instance.getFirstName();assertEquals(John, result);}Testpublic void testGetMiddleName() {String result instance.getMiddleName();assertEquals(Stephen, result);}Testpublic void testGetSurname() {String result instance.getSurname();assertEquals(Smith, result);} } 测试此类毫无意义的原因是该代码不包含任何逻辑。 但是当您向Name类添加如下内容时 public String getFullName() {if (isValidString(firstName) isValidString(middleName) isValidString(surname)) {return firstName middleName surname;} else {throw new RuntimeException(Invalid Name Values);}}private boolean isValidString(String str) {return isNotNull(str) str.length() 0;}private boolean isNotNull(Object obj) {return obj ! null;} …然后整个情况发生了变化。 以if语句的形式添加一些逻辑会生成大量测试 Testpublic void testGetFullName_with_valid_input() {instance new Name(John, Stephen, Smith);final String expected John Stephen Smith;String result instance.getFullName();assertEquals(expected, result);}Test(expected RuntimeException.class)public void testGetFullName_with_null_firstName() {instance new Name(null, Stephen, Smith);instance.getFullName();}Test(expected RuntimeException.class)public void testGetFullName_with_null_middleName() {instance new Name(John, null, Smith);instance.getFullName();}Test(expected RuntimeException.class)public void testGetFullName_with_null_surname() {instance new Name(John, Stephen, null);instance.getFullName();}Test(expected RuntimeException.class)public void testGetFullName_with_no_firstName() {instance new Name(, Stephen, Smith);instance.getFullName();}Test(expected RuntimeException.class)public void testGetFullName_with_no_middleName() {instance new Name(John, , Smith);instance.getFullName();}Test(expected RuntimeException.class)public void testGetFullName_with_no_surname() {instance new Name(John, Stephen, );instance.getFullName();} 因此鉴于我刚刚说过您不需要测试不包含任何逻辑语句的对象并且在逻辑 语句列表中我将包含if并与所有运算符一起切换 -*- 以及可能发生变化和对象状态的一整套事物。 在此前提下我建议在我前两篇博客中一直在讨论的Address项目中为地址数据访问对象DAO编写单元测试毫无意义。 DAO由AddressDao接口定义并由JdbcAddress类实现 public class JdbcAddress extends JdbcDaoSupport implements AddressDao {/*** This is an instance of the query object thatll sort out the results of* the SQL and produce whatever values objects are required*/private MyQueryClass query;/** This is the SQL with which to run this DAO */private static final String sql select * from addresses where id ?;/*** A class that does the mapping of row data into a value object.*/class MyQueryClass extends MappingSqlQueryaddress {public MyQueryClass(DataSource dataSource, String sql) {super(dataSource, sql);this.declareParameter(new SqlParameter(Types.INTEGER));}/*** This the implementation of the MappingSqlQuery abstract method. This* method creates and returns a instance of our value object associated* with the table / select statement.* * param rs* This is the current ResultSet* param rowNum* The rowNum* throws SQLException* This is taken care of by the Spring stuff...*/Overrideprotected Address mapRow(ResultSet rs, int rowNum) throws SQLException {return new Address(rs.getInt(id), rs.getString(street),rs.getString(town), rs.getString(post_code),rs.getString(country));}}/*** Override the JdbcDaoSupport method of this name, calling the super class* so that things get set-up correctly and then create the inner query* class.*/Overrideprotected void initDao() throws Exception {super.initDao();query new MyQueryClass(getDataSource(), sql);}/*** Return an address object based upon its id*/Overridepublic Address findAddress(int id) {return query.findObject(id);}} 在上面的代码中接口中的唯一方法是 Overridepublic Address findAddress(int id) {return query.findObject(id);} ……这实际上是一种简单的吸气方法。 在我看来这是可以的因为DAO中确实不应包含属于AddressService的任何业务逻辑该业务逻辑应具有大量的单元测试。 您可能要决定是否要为MyQueryClass编写单元测试。 对我来说这是一个临界情况所以我期待任何评论…… 我猜想有人会不同意这种方法说您应该测试JdbcAddress对象这是真的我亲自为其编写了一个集成测试以确保我使用的数据库可以正常运行并且可以理解我的数据库SQL并且两个实体DAO和数据库可以互相通信但是我不会打扰对其进行单元测试。 总而言之单元测试必须是有意义的并且对“有意义”的良好定义是被测对象必须包含一些独立的逻辑。 参考 您应该对什么进行单元测试 – Captain Debug博客上的 JCG合作伙伴 Roger Hughes的 测试技术3 相关文章 测试技巧–不编写测试 端到端测试的滥用–测试技术2 常规单元测试和存根–测​​试技术4 使用模拟的单元测试–测试技术5 为旧版代码创建存根–测试技术6 有关为旧版代码创建存根的更多信息–测试技术7 为什么要编写单元测试–测试技巧8 一些定义–测试技术9 使用FindBugs产生更少的错误代码 在云中开发和测试 翻译自: https://www.javacodegeeks.com/2011/11/what-should-you-unit-test-testing.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站制作公司违法电子商务网站建设的步骤一般分为

1.简介 Java是使用最广泛的编程语言之一。 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言。 掌握Java的人有很多话题。 好消息是,您可以在线找到很多内容。 在这篇文章中,我们将对所有这些主题进行分类&#x…

建站平台免费加盟网站怎么做充值系统

1,安装压 JLink_Windows_V660c,官网可下载; 2,打开刚刚安装的 J-Flash V6.60c 选择创建新工程“Create a new project”,然后点击StartJ-Flash 点击之后跳出Select device框,选择TI 选择TI后&#xff0c…

网站开发英文论文英国帮人做设计作业网站

沉下来,沉下来,别让自己太浮躁路虽远,行则将至事虽难,做则必成 转载于:https://www.cnblogs.com/ttyttt/archive/2007/06/04/771071.html

微信里面如何做网站网站原型图是什么

系列文章目录 前言 模型预测控制可在每个控制间隔内解决一个优化问题,具体来说就是二次规划(QP)。求解结果决定了被控对象在下一个控制间隔之前使用的操纵变量(MV)。 该 QP 问题具有以下特点: 目标或 "成本 "函数 - …

asp后台怎么加载网站wordpress常用的插件推荐

本页面主要介绍了动态规划的基本思想,以及动态规划中状态及状态转移方程的设计思路,帮助各位初学者对动态规划有一个初步的了解。 本部分的其他页面,将介绍各种类型问题中动态规划模型的建立方法,以及一些动态规划的优化技巧。 引入 [IOI1994] 数字三角形](https://www.…

邯郸装修网站建设wordpress网站聊天插件

时间管理——你不可不知的3种时间管理方法 时间管理 英文名:Time Management   请问,如果每天都有86400元进入你的银行户头,而你必须当天用光,你会如何运用这笔钱?   天下真有这样的好事吗?   是的,…

怎么建设网站啊电子请柬免费制作软件app

日常生活中使用各种应用程序时,密码安全问题是我们难以避免的。如果您也像我一样,经常忘记密码或混淆密码,就需要一款优秀的密码管理工具来帮助您解决这一问题。今天,我就来介绍一下密码管理器的功能和优势,看看它是如…

程序员找工作的网站腾讯网站开发语言

谎言——幸福的润滑剂 你对她说过谎吗?我想,即使你和她是最深爱的一对,你也不敢轻易地摇头说你没有!但并不是说两个人在一起生活,彼此之间就会充满谎言,就像梁静茹在《花园》里唱的一样:“谎言&…

金华建设局网站重庆黄页网站

背景 计算机视觉是利用摄像机和电脑代替人眼,使得计算机拥有类似于人类的对目标进行检测、识别、理解、跟踪、判别决策的功能。以美团业务为例,在商家上单、团单展示、消费评价等多个环节都会涉及计算机视觉的应用,包括文字识别、图片分类、目…

郑州个人网站开发微信小程序开发步骤

🍅 作者主页:不吃西红柿 🍅 简介:CSDN博客专家、C站总榜第8🏆、HDZ核心组成员。欢迎点赞、收藏、评论 🍅 粉丝专属福利:知识体系、面试题库、技术互助、简历模板。文末公众号领取 &#x1f345…

网站开发上市公司仿wordpress站

点击蓝字关注我们编辑:Alan Wang排版:Rani Sun微软 Reactor 为帮助广开发者,技术爱好者,更好的学习 .NET Core, C#, Python,数据科学,机器学习,AI,区块链, IoT 等技术,将…

网页ui设计网站黄页公司

题面 显然的一个建模是,每个叶子对应一个权值,代表比最晚的叶子早了多久,然后我们要做的就是给每条边赋上值,使得每个叶子到根的路径上的所有边权值和等于叶子的权值。 我们贪心的想一想,必然是离根越近的边赋值多的情…

宾县建设局网站网站建设拿什么框架

目录 0 前言 1 美食便签地图简介 2 美食便签地图小程序端开发 2.1技术选型 2.2前端UI设计 2.3主页界面 2.4个人信息界面 2.5 添加美食界面 2.6美食便签界面 2.8 美食好友界面 2.9 美食圈子界面 2.10 子页面-店铺详情界面 2.11 后台数据缓存 2.12 订阅消息通知 2.1…

新网站做优化要准备什么asp 网站数据库连接错误

智能客服系统是企业建立完善服务框架的重要工具。市面上存在着形态各异的各种客服系统,如何选择一款最适合自己企业的产品是很多采购人员想知道的问题。事实上,不同的智能客服系统之间的主要功能并未存在太大的区别,它们往往会在一些亮点功能…

wordpress外贸站如何加快门户网站建设

很多网友咨询学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是JAVA私塾愿意将一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛! 要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来…

国家级门户网站有哪些网站制作学生信息管理

文章目录 什么是转义符使用"\x"定义char数组宏定义中的\ 什么是转义符 在C语言中,转义符用于将一些特殊字符表示为单个字符,常用的转义符有: \\:反斜杠符号\:单引号\":双引号\a&#xff1…

电脑怎么做服务器 网站代理推广

一.字典的介绍 dictionary(字典)是除了列表以外的 Python 中最灵活的数据类型。dict(字典)可以采用多个数据,通常用于存储描述一个物体的相关信息。 字典和列表最主要的区别是,字典是无序的对象集合&#x…

如何建立一个网站卖东西网站建设设计设计公司

译者注:可能很多程序员对C 已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。命名空间在1995年被引入到 c 标准中,通常是这样定义的:命名空间定义了新的作用域。它们提供了一…

怎么看网站是不是做竞价邯郸网络科技有限公司哪家好

软件工程网络15个人阅读作业1 Task1:博客园地址 茗想 Task2:码云地址 ming Task3:完成博客-阅读与思考 阅读参考材料,并回答下面几个问题: (1)回想一下你初入大学时对网络工程专业的畅想 当初你…

1小时快速搭建网站辛集建设局网站

python如何把一个函数的返回值,当成这个函数的参数值 1. 递归调用 递归是一种函数自己调用自己的方法。在递归调用中,你可以将前一次调用的返回值作为下一次调用的参数。 def recursive_function(x):# 函数逻辑if 条件满足:return 结果else:return rec…