Skip to content
This repository has been archived by the owner on Mar 14, 2024. It is now read-only.

Commit

Permalink
完善v013版本的测试用例
Browse files Browse the repository at this point in the history
  • Loading branch information
Camio1945 committed Oct 2, 2018
1 parent 4c991cd commit a85a8a8
Show file tree
Hide file tree
Showing 11 changed files with 2,337 additions and 315 deletions.
310 changes: 182 additions & 128 deletions .idea/workspace.xml

Large diffs are not rendered by default.

72 changes: 39 additions & 33 deletions test/com/erhu1999/shopordertest/version013/Version013Test0032.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,53 +17,59 @@ class Version013Test0032 extends AbstractTest {
@Test
@DisplayName(Version013LessColumn.DISPLAY_NAME + " 多线程测试 线程数 0032")
void testOf0032Threads() throws Exception {
for (int i = 0; i < 10; i++) {
printSeparateLine(this.getClass().getSimpleName(), new Exception().getStackTrace()[0].getMethodName() + " 第 " + (i + 1) + " 次测试");
// 用于保证顺序是随机的
if (RANDOM.nextInt(2) == 0) {
testLessColumn();
testFullColumn();
} else {
testFullColumn();
testLessColumn();

for (int charCount = 10000; charCount <= 60000; charCount += 10000) {
printSeparateLine("", "测试商品详情字符数:" + charCount);
String sqlFileName = "Version013Test" + charCount + "Chars.sql";
for (int i = 0; i < 10; i++) {
printSeparateLine(this.getClass().getSimpleName(), new Exception().getStackTrace()[0].getMethodName() + " 第 " + (i + 1) + " 次测试");
// 用于保证顺序是随机的
if (RANDOM.nextInt(2) == 0) {
testLessColumn(sqlFileName);
testFullColumn(sqlFileName);
} else {
testFullColumn(sqlFileName);
testLessColumn(sqlFileName);
}
}
printSeparateLine("", "最终测试结果");
Set<Class> clazzSet = Version013TestCommon.avgNanoTimeMap.keySet();
for (Class clazz : clazzSet) {
List<Long> list = Version013TestCommon.avgNanoTimeMap.get(clazz);
double avgNanoTime = list.stream()
.mapToLong(Long::longValue)
.average()
.getAsDouble();
System.out.println(clazz.getSimpleName() + " 提交每个订单平均耗时的纳秒数: " + (long) avgNanoTime);
}
System.out.println();
clazzSet = Version013TestCommon.avgSubmitTimesMap.keySet();
for (Class clazz : clazzSet) {
List<Long> list = Version013TestCommon.avgSubmitTimesMap.get(clazz);
double avgSubmitTimes = list.stream()
.mapToLong(Long::longValue)
.average()
.getAsDouble();
System.out.println(clazz.getSimpleName() + " 每秒钟可以提交的订单数: " + (long) avgSubmitTimes);
}
}
printSeparateLine("", "最终测试结果");
Set<Class> clazzSet = Version013TestCommon.avgNanoTimeMap.keySet();
for (Class clazz : clazzSet) {
List<Long> list = Version013TestCommon.avgNanoTimeMap.get(clazz);
double avgNanoTime = list.stream()
.mapToLong(Long::longValue)
.average()
.getAsDouble();
System.out.println(clazz.getSimpleName() + " 提交每个订单平均耗时的纳秒数: " + (long) avgNanoTime);
}
System.out.println();
clazzSet = Version013TestCommon.avgSubmitTimesMap.keySet();
for (Class clazz : clazzSet) {
List<Long> list = Version013TestCommon.avgSubmitTimesMap.get(clazz);
double avgSubmitTimes = list.stream()
.mapToLong(Long::longValue)
.average()
.getAsDouble();
System.out.println(clazz.getSimpleName() + " 每秒钟可以提交的订单数: " + (long) avgSubmitTimes);
}

}

/** 测试查询时查询少一点字段(共少了4个字段) */
private void testLessColumn() throws Exception {
private void testLessColumn(String sqlFileName) throws Exception {
printSeparateLine("", Version013LessColumn.class.getSimpleName());
Version013TestCommon.initDb();
Version013TestCommon.initDb(sqlFileName);
Version013TestCommon.testMultiThread(32, Version013LessColumn.class);
Version013TestCommon.closeAllConnection();
}

/** 测试查询时查询全字段 */
private void testFullColumn() throws Exception {
private void testFullColumn(String sqlFileName) throws Exception {
printSeparateLine("", Version013FullColumn.class.getSimpleName());
Version013TestCommon.initDb();
Version013TestCommon.initDb(sqlFileName);
Version013TestCommon.testMultiThread(32, Version013FullColumn.class);
Version013TestCommon.closeAllConnection();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for Addr
-- ----------------------------
DROP TABLE IF EXISTS `Addr`;
CREATE TABLE `Addr` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`userId` bigint(20) NOT NULL COMMENT '用户ID',
`mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '手机',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '姓名',
`addr` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '地址',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '地址' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of Addr
-- ----------------------------
INSERT INTO `Addr` VALUES (1, 1, '18812345678', '张三', '北京市海淀区一个假的收货地址');
-- ----------------------------
-- Table structure for Goods
-- ----------------------------
DROP TABLE IF EXISTS `Goods`;
CREATE TABLE `Goods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`price` bigint(20) NOT NULL DEFAULT 0 COMMENT '销售价(单位为分)',
`stock` int(10) NOT NULL DEFAULT 0 COMMENT '库存',
`sales` int(10) NOT NULL DEFAULT 0 COMMENT '销量',
`isOn` int(1) NOT NULL DEFAULT 1 COMMENT '是否上架',
`firstImg` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第一张图片',
`intro` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '详情',
`addTime` bigint(20) NOT NULL COMMENT '添加时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商品' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of Goods
-- ----------------------------
INSERT INTO `Goods` VALUES (1, '锤子(smartisan ) 坚果 Pro 2S 6G+64GB 炫光蓝 全面屏双摄 全网通4G手机 双卡双待 游戏手机', 199800, 320, 0, 1, 'https://resource.smartisan.com/resource/25cc6e783a664fbdf83c3c34774a9826.png', '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789', 20180901115333000);
-- ----------------------------
-- Table structure for Order
-- ----------------------------
DROP TABLE IF EXISTS `Order`;
CREATE TABLE `Order` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`sn` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '编号',
`userId` bigint(20) NOT NULL COMMENT '用户ID',
`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '下单人姓名',
`addrMobile` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '收货地址中的手机号',
`addrName` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '收货地址中的姓名',
`addrDetail` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '收货地址',
`money` bigint(20) NOT NULL COMMENT '订单金额(单位为分)',
`status` int(1) NOT NULL COMMENT '状态:1-待支付,2-待发货,3-待收货,4-已完成,5-已取消',
`addTime` bigint(20) NOT NULL COMMENT '下单时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '订单' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for OrderGoods
-- ----------------------------
DROP TABLE IF EXISTS `OrderGoods`;
CREATE TABLE `OrderGoods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`orderId` bigint(20) NOT NULL COMMENT '订单ID',
`goodsId` bigint(20) NOT NULL COMMENT '商品ID',
`goodsCount` int(8) NOT NULL COMMENT '商品数量',
`goodsPrice` bigint(20) NOT NULL COMMENT '商品单价(单位为分)',
`goodsImg` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '商品图片',
`money` bigint(20) NOT NULL COMMENT '商品金额(单位为分)',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '订单商品' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for User
-- ----------------------------
DROP TABLE IF EXISTS `User`;
CREATE TABLE `User` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '姓名',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of User
-- ----------------------------
INSERT INTO `User` VALUES (1, '张三');
SET FOREIGN_KEY_CHECKS = 1;
Loading

0 comments on commit a85a8a8

Please sign in to comment.