junit

为《 两周自制脚本语言 》添加中文测试代码

邮差的信 提交于 2020-04-28 21:57:18
源自 自制编译器+自制脚本语言+自制编程语言 三书比较? 两年多前只看了一本的前六章: 实践"两周自制脚本语言"一书【java吧】_百度贴吧 当时是希望一路添加测试用例, 并且最终把语言改为中文语法. 但看到Gluonj之后,似乎必须要Loader.run来执行解释器, 得不到返回值, 只能打印解释结果. 今天从此书官网( スクリプト言語の作り方 )找到了它的附带源码库: chibash/stone , 顺便研究了一下Gluonj源码, 找到了它的JUnit辅助功能: https://github.com/chibash/gluonj/blob/master/src/javassist/gluonj/util/UTester.java 据此写了第五到十四章的测试, 运行效果见开头. 下面以第九章的为例: 测试用"石头"语言源码: 位置类 class Position { x = y = 0 def move (nx, ny) { x = nx; y = ny; } } p = Position.new p.move(3, 4) p.x = 10 sum = p.x + p.y 测试代码: 面向对象解释器Test package chap9; import static org.junit.Assert.assertEquals; import java.io.IOException

How to write Unit test case for adding callback for ListenableFuture

百般思念 提交于 2020-04-28 09:48:02
问题 I am trying to write the unit test case for ListenableFuture adding Callback but I am not sure how to do it. Didn`t get anything useful on internet. @Test public void can_publish_data_to_kafka() { String topic = someString(10); String key = someAlphanumericString(5); String data = someString(50); SendResult sendResult = mock(SendResult.class); ListenableFuture<SendResult<String, Object>> future = mock(ListenableFuture.class); given(kafkaTemplate.send(topic, key, data)).willReturn(future);

How to write Unit test case for adding callback for ListenableFuture

北战南征 提交于 2020-04-28 09:46:27
问题 I am trying to write the unit test case for ListenableFuture adding Callback but I am not sure how to do it. Didn`t get anything useful on internet. @Test public void can_publish_data_to_kafka() { String topic = someString(10); String key = someAlphanumericString(5); String data = someString(50); SendResult sendResult = mock(SendResult.class); ListenableFuture<SendResult<String, Object>> future = mock(ListenableFuture.class); given(kafkaTemplate.send(topic, key, data)).willReturn(future);

2.Maven项目搭建简要过程

前提是你 提交于 2020-04-28 05:18:22
# 0.写在前面 在上一篇笔记中,我较为全面的记录了我在真是搭建Eclispe中Maven开发环境并进行项目测试时所有的步骤和遇见的问题 并且详细记载了各种问题的解决方案 但是这样一来,整个环境搭建和项目测试的过程难免变得琐碎复杂,不易抓住重点 接下来我们将忽略上一篇笔记中所介绍性的细节,专门记录如下几个问题: 1. Maven在本机中环境变量的配置及测试 : 在这个问题下,我们将以图示的方式记录如何配置Maven在本机中的环境变量 Maven的环境变量需要配置两处:创建M2_HOME以及在Path中追加对M2_HOME的引用 在此需要大家对Path中的内容做好备份,一旦误删其中的信息,还可以进行恢复 2.Maven配置文件:conf/settings.xml的配置方式: 在这个问题下,我们将详细展示一份极简版本的Maven的settings.xml配置文件的内容 在这个配置文件中,我们删除了素有标签组下的注释说明内容(标签配置示例除外) 仅保留标签中的配置,并将对标签的作用和每一个配置的作用进行说明 3.在Eclipse中搭建Maven开发环境的具体步骤: 在这个问题下,我们尽量使用图示的方式进行讲解 每一步骤都有详细的图示记录 4.在Eclispe中创建Maven项目并运行Maven项目的具体步骤: 在这个问题下我们依然使用图示的方式来进行步骤的记录 最终我们会展示

结对编程练习-四则运算(第一周)

拈花ヽ惹草 提交于 2020-04-28 05:11:11
20165226 结对编程项目-四则运算 阶段总结 一、需求分析 1、随机生成题目 生成的题目个数从命令行输入 用户可选择生成不同难度的题目,比如通过参数指定: (1) 运算符个数范围 (2) 运算符限定(小学一年级题目只生成 + - 题目) 能多次生成题目 2、题目运算(判题) 支持多运算符 支持整数 支持真分数 转换为后缀表达式(也可以直接计算中缀表达式) 3、题目合法性判断 可独立使用 可用于测试生成题目的正确性 4、扩展需求 题目去重 支持多语言 处理生成题目并输出到文件 完成题目后从文件读入并判题 二、设计思路 1、设计一个 IntNumber 类,用来实现整数的四则运算 2、设计一个 Judgement 类,用来判断用户输入与实际计算值是否相等,并统计正确的次数 3、设计主类,生成随机数,生成题目,并判断正确率 4、设计测试类,测试整数类的四则运算 三、核心代码及注释 Calculate import java.text.NumberFormat; import java.util.*; public class Calculate { public static void main(String[] args) { NumberFormat number = NumberFormat.getPercentInstance(); Random ran = new

消息中间件——RabbitMQ

蓝咒 提交于 2020-04-27 22:30:51
RabbitMQ介绍 RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。 AMQP ,即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ 是一个开源的 AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 Rabbitmq 安装 http://www.rabbitmq.com 先安装 erlang环境 直接下一步下一步安装完成 配置系统环境: 新建一个系统变量:名称 ERLANG_HOME,值为本机中erlang的安装目录。 然后再在用户变量

[Selenium+Java] Using Cucumber with Selenium

霸气de小男生 提交于 2020-04-27 21:42:51
Original URL: https://www.guru99.com/using-cucumber-selenium.html Using Cucumber with Selenium In this tutorial, you will learn how to integrate Cucumber with Selenium Webdriver. What is Cucumber? Cucumber is a testing approach which supports Behavior Driven Development (BDD). It explains the behavior of the application in a simple English text using Gherkin language. Learn more at - https://www.guru99.com/cucumber-tutorials.html What is Selenium? Selenium is an automation tool for Functional Testing of the web-based application. Selenium supports different language like java, ruby, python C#,

SpringBoot系列八:SpringBoot整合消息服务(SpringBoot 整合 ActiveMQ、SpringBoot 整合 RabbitMQ、SpringBoot 整合 Kafka)

谁都会走 提交于 2020-04-27 20:21:25
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅。 1、概念:SpringBoot 整合消息服务 2、具体内容 对于异步消息组件在实际的应用之中会有两类: · JMS:代表作就是 ActiveMQ,但是其性能不高,因为其是用 java 程序实现的; · AMQP:直接利用协议实现的消息组件,其大众代表作:RabbitMQ,高性能代表作:Kafka。 2.1、SpringBoot 整合 ActiveMQ 1、 如果要想在项目之中去使用 ActiveMQ 组件,则应该为项目添加依赖支持库,修改 pom.xml 配置文件: < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-activemq </ artifactId > </ dependency > 2、 修改 application.yml 配置文件进行 activemq 的配置; server: port: 80 spring: messages: basename: i18n/Messages,i18n/Pages jms: pub-sub-domain: false # 配置消息的类型,如果是true则表示为topic消息,如果为false表示Queue消息

JDBC , 使用java来控制mysql。JavaWeb开发的分层设计-三层架:DAO层设计,连接池使用,类加载使用,配置

末鹿安然 提交于 2020-04-27 17:36:32
大家可以关注一下我的博客 我的博客所有随笔都是我从基础开始学习java的所有知识点 1. Jdbc 概述 问题:实际开发中,不可能用工具或者命令行操作数据库,数据库表中的数据最终要使用 Java 程序来操作 , 那么 Java 中如何操作数据库中的数据呢? 答 : 在 Java 语言中,有一个专门连接数据库的规范( JDBC ),专门负责连接数据库进行数据操作的规范 JDBC 只是 SUN 编写的一堆接口(规范的体现), SUN 公司自己并没有实现 问题 : 为什么 SUN 只定义一个 JDBC 规范,而不实现呢? 答 : 因为市面上的数据库很多,每个数据库内部接口不会向外暴露,而且即便是暴露让 SUN 去实现,市面上很多数据库全部要 SUN 来实现不现实 实际中哪个数据库需要支持 JAVA 语言,就需要自己实现 Java 的 JDBC 规范,因为实现了 JDBC 很多接口,那么就会有很多实现类,而很多实现类在 java 中会使用一个专门的包封装起来,叫做 jar 包 (在 JDBC 中叫做驱动包),各大数据库产商实现 JDBC 规范以后都会把他们 jar 包放在官网上以供开发者下载使用 JDBC: (Java DataBase Connectivity): 是一种用于执行 SQL 语句的 Java API ,可以为多种关系数据库提供统一访问,它由一组用 Java

Java根据WSDL生成request的SOAP报文模板

时光总嘲笑我的痴心妄想 提交于 2020-04-27 17:14:25
import groovy.xml.MarkupBuilder; import org.junit.Test; import com.predic8.wsdl.* ; import com.predic8.wstool.creator.RequestTemplateCreator; import com.predic8.wstool.creator.SOARequestCreator; @Test public void testCreateSOAP() throws IOException { String wsdlUrl = "http://localhost:19092/financial-budget-ws/budgetHold?wsdl" ; WSDLParser parser = new WSDLParser(); Definitions wsdl = parser.parse(wsdlUrl); StringWriter writer = new StringWriter(); SOARequestCreator creator = new SOARequestCreator(wsdl, new RequestTemplateCreator(), new MarkupBuilder(writer)); // creator.setBuilder(new