|
@@ -0,0 +1,113 @@
|
|
|
|
+package cn.cslg.pas.service;
|
|
|
|
+
|
|
|
|
+import cn.cslg.pas.common.utils.ReadExcelUtils;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.junit.jupiter.api.Assertions;
|
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
|
+import org.springframework.boot.test.context.SpringBootTest;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 检测文件合法性方法单元测试
|
|
|
|
+ *
|
|
|
|
+ * @Author chenyu
|
|
|
|
+ * @Date 2023/8/22
|
|
|
|
+ */
|
|
|
|
+@Slf4j
|
|
|
|
+@SpringBootTest
|
|
|
|
+public class TextExcelTests {
|
|
|
|
+ private String filePath;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试用例1:上传的文件丢失或不存在
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void addNotFoundFileTask() {
|
|
|
|
+ filePath = "文件丢失或不存在路径";
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ReadExcelUtils.textExcel(filePath);
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Assertions.assertEquals("文件上传失败,服务器忙请稍后再试!", e.getMessage(), "测试用例1不通过");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试用例2:上传非Excel文件
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void addNotExcelTask() {
|
|
|
|
+ filePath = ".\\单元测试用例专用文件\\FTO风险排查报告用户操作手册.pptx";
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ReadExcelUtils.textExcel(filePath);
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Assertions.assertEquals("文件格式错误,请上传Excel文件!", e.getMessage(), "测试用例2不通过");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试用例3:上传Excel文件,单元格行数 <= 1
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void addRowLessThan1ExcelTask() {
|
|
|
|
+ filePath = ".\\单元测试用例专用文件\\1件CN专利 - 单元格行数不大于1.XLSX";
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ReadExcelUtils.textExcel(filePath);
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Assertions.assertEquals("文件内容格式不正确,请检查总行数是否有专利内容", e.getMessage(), "测试用例3不通过");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试用例4:上传Excel文件,抬头没有申请号
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void addFalseTitleExcelTask() {
|
|
|
|
+ filePath = ".\\单元测试用例专用文件\\1件CN专利 - 抬头没有申请号.XLSX";
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ReadExcelUtils.textExcel(filePath);
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Assertions.assertEquals("文件内容格式不正确,第一行抬头必须有【公开(公告)号】和【申请号】", e.getMessage(), "测试用例4不通过");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试用例5:上传Excel文件,抬头没有公开公告号
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void addFalseTitleExcelTask2() {
|
|
|
|
+ filePath = ".\\单元测试用例专用文件\\1件CN专利 - 抬头没有公开公告号.XLSX";
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ReadExcelUtils.textExcel(filePath);
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Assertions.assertEquals("文件内容格式不正确,第一行抬头必须有【公开(公告)号】和【申请号】", e.getMessage(), "测试用例5不通过");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试用例6:上传Excel文件,格式内容符合标准
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void addExcelTask() {
|
|
|
|
+ filePath = ".\\单元测试用例专用文件\\1件CN专利.XLSX";
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ ReadExcelUtils.textExcel(filePath);
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Assertions.assertEquals("文件内容格式不正确,第一行抬头必须有【公开(公告)号】和【申请号】", e.getMessage(), "测试用例5不通过");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|