Java单元测试框架:JUnit 使用 àì夳堔傛蜴生んèń 2021-05-16 20:37 558阅读 0赞 ### 目录 ### * 开发工具 * 创建普通类和普通方法 * 创建测试类和测试方法 * * 创建一个JUnit测试类 * * 创建完成后生成的测试类和导入的jar包 * 生成的测试方法 * 使用测试类中的测试方法对普通类中的普通方法进行测试 * * 第一种assert语法 * Errors和Failures的区别 * 第二种assert语法 * 同时测试一个测试类中的多个测试方法 * 同时测试多个测试类中的测试方法 * JUnit 各标注的作用 * * @Test * @Ignore * @Before * @After * @BeforeClass * @AfterClass # 开发工具 # **eclipse** # 创建普通类和普通方法 # 该类中的方法用于被测试类中的测试方法测试(绕口 = =!) ![在这里插入图片描述][2021012417524661.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70] # 创建测试类和测试方法 # ## 创建一个JUnit测试类 ## ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 1] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 2] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 3] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 4] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 5] ### 创建完成后生成的测试类和导入的jar包 ### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 6] ### 生成的测试方法 ### 测试方法名格式:test + 被测试的方法名 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 7] # 使用测试类中的测试方法对普通类中的普通方法进行测试 # ## 第一种assert语法 ## ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 8] 双击方法名,运行测试方法 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 9] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 10] 没有错误,没有失败,说明我们的方法测试通过 ## Errors和Failures的区别 ## **Failures表示没有通过测试,也就是不满足测试条件** 我们改一下期望值,再次运行 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 11] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 12] **Errors表示程序中存在错误** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 13] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 14] ## 第二种assert语法 ## **使用第二种判断语法时,我们必须要导入一个jar包** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 15] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 16] (jar包的获取地址我放到最下面了) ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 17] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 18] **运行测试方法报错了,解决方法:** **将自动添加的JUnit的jar包移除** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 19] **添加外部下载的JUnit的jar包(获取地址放到最下面了)** ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 20] 再次运行 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 21] 通过测试 更改测试规则 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 22] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 23] 没有通过测试 ## 同时测试一个测试类中的多个测试方法 ## 在被测试类中增加一个方法 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 24] 在测试类中增加一个测试方法: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 25] 在测试类上右击选择JUnit Test,同时测试多个方法 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 26] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 27] 同时测试了两个方法 ## 同时测试多个测试类中的测试方法 ## 增加一个测试类,测试add和name方法 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 28] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 29] 右击测试类的包名选择JUnit Test,同时测试多个测试类中的测试方法 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 30] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 31] 同时测试了两个测试类中的测试方法 # JUnit 各标注的作用 # ## @Test ## 拥有该标注的方法是一个测试方法 ## @Ignore ## 在进行测试时会忽略掉拥有该标识的测试方法,也就是不会测试拥有该标识的测试方法 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 32] 运行整个测试类 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 33] ## @Before ## 拥有该标注的方法在执行每个测试方法之前都会被执行 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 34] ## @After ## 和Before类似,拥有该标注的方法在执行完每个测试方法之后都会被执行 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 35] ## @BeforeClass ## 拥有该标注的方法在其所属的测试类被编译之前会被执行,也就是在所有测试开始之前被执行 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 36] ## @AfterClass ## 和BeforeClass类似,拥有该标注的方法在其所属的测试类运行完之后会被执行,也就是在所有测试结束之后被执行 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 37] -------------------- **jar包获取地址:[点击此处][Link 1] 提取码:q6mu** [2021012417524661.png]: /images/20210516/7251712a60434fb6a925c4f8ab52c9ae.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70]: /images/20210516/d029bc03ad384d198fe329ed1c3cdd77.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 1]: /images/20210516/662ee900a22d4b85992812606a94d6b1.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 2]: /images/20210516/81b08a62f63a4836be847969a9dd9418.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 3]: /images/20210516/0a8d26dd21a549819e24809dd2c4619d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 4]: /images/20210516/ad91fe6a8b0f4d43a2bf5a56b3a18019.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 5]: /images/20210516/5515b06201a3429a86290a778eae92fd.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 6]: /images/20210516/3d596390d4644123b803e415ec4d006a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 7]: /images/20210516/4f0649fca4244e2fbf02773805bea5b1.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 8]: /images/20210516/4df3433b15154e9c806ab95af88d7e25.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 9]: /images/20210516/9a9f6266af7d408d9248d9cf3d106000.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 10]: /images/20210516/701ead80c9bd4183a26c3b936b35b29d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 11]: /images/20210516/eefaec2b75c54eebb39df12f85b01bdf.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 12]: /images/20210516/bd69a3bfd12b4ac39b1436c9e2b141d9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 13]: /images/20210516/e08f63f2786548738167a4571bb9e438.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 14]: /images/20210516/69aa61c0fbee4c05b0033f6a494acd5a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 15]: /images/20210516/31b52fa6a7e843ea920d7204ded81247.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 16]: /images/20210516/be00553e050a411fa572c8712d77a13c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 17]: /images/20210516/4c810af2bbdb4496ada30f0892cf11cc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 18]: /images/20210516/950ebb6044564407949cc4d4aecd8045.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 19]: /images/20210516/ef646155129c4c1ba5e9c06d5f45720a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 20]: /images/20210516/991afa61172249e4972f54b35a62b442.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 21]: /images/20210516/f40a9c4f6848467094bd96b907ed6cf2.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 22]: /images/20210516/ec1119f8b6bd4f0598b0897c53b99168.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 23]: /images/20210516/778491138ddd491ea71cca7e78959fa0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 24]: /images/20210516/097f9dcb37894227a1e4b9e3b95467e6.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 25]: /images/20210516/458ccb3ca12246f6bf22c49c31a83cf8.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 26]: /images/20210516/a9e9874cc2f740ada7b1146bfc886f34.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 27]: /images/20210516/e8dbdb5eeedb41e4bf603e0fcbb325a2.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 28]: /images/20210516/3e07c44e2d924562b9757047e5b76d28.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 29]: /images/20210516/4230bfd90f344636979c9f25eba8027a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 30]: /images/20210516/6e9984dc00f545de8995625cf6251504.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 31]: /images/20210516/2b8f56eca767496e9725eb7db35719da.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 32]: /images/20210516/7fb0d8b42d2849fabdcf36c5223305b8.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 33]: /images/20210516/03323a44e2e847f89d5dd52eba39e96b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 34]: /images/20210516/3887a2d79cd04d02b0237ab6c3dea9fd.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 35]: /images/20210516/e3e6a02631e445ef878675822f8fdece.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 36]: /images/20210516/caae304e7c3a4d2e95af4c406def1701.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc1NDQ5_size_16_color_FFFFFF_t_70 37]: /images/20210516/358810ccea664a2bad9636823d54b43b.png [Link 1]: https://pan.baidu.com/s/1zV4G0_BzQ-M4wM-XzHHHMA
还没有评论,来说两句吧...