提交 9cadee9aebc7edfc1c3084a37d666fd04a21c8fb
1 个父辈
676ef25a
版本:1.0.3
1.新增班级逻辑判断 2.新增实践课程逻辑判断 3.补充Excel-班级 4.补充Excel-实践课程 4.补充Excel-教师
正在显示
20 个修改的文件
包含
685 行增加
和
1026 行删除
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <project version="4"> | 2 | <project version="4"> |
3 | <component name="ChangeListManager"> | 3 | <component name="ChangeListManager"> |
4 | - <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="1.0.1 1.新增发送邮件"> | ||
5 | - <change afterPath="$PROJECT_DIR$/data/system/test_02_specialty.xlsx" afterDir="false" /> | ||
6 | - <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_class.xlsx" afterDir="false" /> | ||
7 | - <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" afterDir="false" /> | 4 | + <list default="true" id="129454fc-5415-4c7e-9855-d0293355ede5" name="Default Changelist" comment="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化"> |
5 | + <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_course.xlsx" afterDir="false" /> | ||
6 | + <change afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_student.xlsx" afterDir="false" /> | ||
8 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | 7 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
9 | - <change beforePath="$PROJECT_DIR$/common/handle_excel.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/handle_excel.py" afterDir="false" /> | 8 | + <change beforePath="$PROJECT_DIR$/conf/config.ini" beforeDir="false" afterPath="$PROJECT_DIR$/conf/config.ini" afterDir="false" /> |
10 | <change beforePath="$PROJECT_DIR$/data/system/test_02_department.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_department.xlsx" afterDir="false" /> | 9 | <change beforePath="$PROJECT_DIR$/data/system/test_02_department.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_department.xlsx" afterDir="false" /> |
11 | - <change beforePath="$PROJECT_DIR$/data/system/test_03_specialty.xlsx" beforeDir="false" /> | ||
12 | - <change beforePath="$PROJECT_DIR$/data/system/test_04_term.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_term.xlsx" afterDir="false" /> | 10 | + <change beforePath="$PROJECT_DIR$/data/system/test_02_specialty.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_specialty.xlsx" afterDir="false" /> |
11 | + <change beforePath="$PROJECT_DIR$/data/system/test_02_term.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/system/test_02_term.xlsx" afterDir="false" /> | ||
12 | + <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_class.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_class.xlsx" afterDir="false" /> | ||
13 | + <change beforePath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/teaching_affairs/test_03_teacher.xlsx" afterDir="false" /> | ||
13 | <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> | 14 | <change beforePath="$PROJECT_DIR$/data/test_01_login.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/data/test_01_login.xlsx" afterDir="false" /> |
14 | - <change beforePath="$PROJECT_DIR$/logs/log.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/log.log" afterDir="false" /> | 15 | + <change beforePath="$PROJECT_DIR$/instruction_book.md" beforeDir="false" afterPath="$PROJECT_DIR$/instruction_book.md" afterDir="false" /> |
16 | + <change beforePath="$PROJECT_DIR$/logs/log.log" beforeDir="false" /> | ||
17 | + <change beforePath="$PROJECT_DIR$/logs/log.log.2022-12-15" beforeDir="false" /> | ||
15 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> | 18 | <change beforePath="$PROJECT_DIR$/report/history.json" beforeDir="false" afterPath="$PROJECT_DIR$/report/history.json" afterDir="false" /> |
16 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> | 19 | <change beforePath="$PROJECT_DIR$/report/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/report/report.html" afterDir="false" /> |
17 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> | 20 | <change beforePath="$PROJECT_DIR$/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/run.py" afterDir="false" /> |
18 | - <change beforePath="$PROJECT_DIR$/testcase/test_01_login.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_01_login.py" afterDir="false" /> | ||
19 | <change beforePath="$PROJECT_DIR$/testcase/test_02_system_management.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_02_system_management.py" afterDir="false" /> | 21 | <change beforePath="$PROJECT_DIR$/testcase/test_02_system_management.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_02_system_management.py" afterDir="false" /> |
20 | <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> | 22 | <change beforePath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" beforeDir="false" afterPath="$PROJECT_DIR$/testcase/test_03_teaching_affairs.py" afterDir="false" /> |
21 | <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> | 23 | <change beforePath="$PROJECT_DIR$/tools/fixture.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/fixture.py" afterDir="false" /> |
24 | + <change beforePath="$PROJECT_DIR$/tools/handle_token.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools/handle_token.py" afterDir="false" /> | ||
22 | </list> | 25 | </list> |
23 | <option name="SHOW_DIALOG" value="false" /> | 26 | <option name="SHOW_DIALOG" value="false" /> |
24 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> | 27 | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
@@ -44,12 +47,6 @@ | @@ -44,12 +47,6 @@ | ||
44 | </option> | 47 | </option> |
45 | </component> | 48 | </component> |
46 | <component name="Git.Settings"> | 49 | <component name="Git.Settings"> |
47 | - <option name="PUSH_TAGS"> | ||
48 | - <GitPushTagMode> | ||
49 | - <option name="argument" value="--tags" /> | ||
50 | - <option name="title" value="All" /> | ||
51 | - </GitPushTagMode> | ||
52 | - </option> | ||
53 | <option name="RECENT_BRANCH_BY_REPOSITORY"> | 50 | <option name="RECENT_BRANCH_BY_REPOSITORY"> |
54 | <map> | 51 | <map> |
55 | <entry key="$PROJECT_DIR$" value="master" /> | 52 | <entry key="$PROJECT_DIR$" value="master" /> |
@@ -168,16 +165,16 @@ | @@ -168,16 +165,16 @@ | ||
168 | </configuration> | 165 | </configuration> |
169 | <list> | 166 | <list> |
170 | <item itemvalue="Python.run" /> | 167 | <item itemvalue="Python.run" /> |
171 | - <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | ||
172 | - <item itemvalue="Python tests.Unittests in test_01_login.py" /> | ||
173 | <item itemvalue="Python.fixture (1)" /> | 168 | <item itemvalue="Python.fixture (1)" /> |
174 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | 169 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> |
170 | + <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | ||
171 | + <item itemvalue="Python tests.Unittests in test_01_login.py" /> | ||
175 | </list> | 172 | </list> |
176 | <recent_temporary> | 173 | <recent_temporary> |
177 | <list> | 174 | <list> |
178 | <item itemvalue="Python.run" /> | 175 | <item itemvalue="Python.run" /> |
179 | - <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | ||
180 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> | 176 | <item itemvalue="Python tests.Unittests in test_03_teaching_affairs.py" /> |
177 | + <item itemvalue="Python tests.Unittests in test_02_system_management.py" /> | ||
181 | <item itemvalue="Python.fixture (1)" /> | 178 | <item itemvalue="Python.fixture (1)" /> |
182 | <item itemvalue="Python tests.Unittests in test_01_login.py" /> | 179 | <item itemvalue="Python tests.Unittests in test_01_login.py" /> |
183 | </list> | 180 | </list> |
@@ -197,7 +194,8 @@ | @@ -197,7 +194,8 @@ | ||
197 | <workItem from="1671612580435" duration="100000" /> | 194 | <workItem from="1671612580435" duration="100000" /> |
198 | <workItem from="1671612709033" duration="18069000" /> | 195 | <workItem from="1671612709033" duration="18069000" /> |
199 | <workItem from="1671637473856" duration="5050000" /> | 196 | <workItem from="1671637473856" duration="5050000" /> |
200 | - <workItem from="1671683905863" duration="21393000" /> | 197 | + <workItem from="1671683905863" duration="32432000" /> |
198 | + <workItem from="1671858161931" duration="13359000" /> | ||
201 | </task> | 199 | </task> |
202 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> | 200 | <task id="LOCAL-00001" summary="1.0.0 首次提交"> |
203 | <created>1671544396986</created> | 201 | <created>1671544396986</created> |
@@ -220,7 +218,14 @@ | @@ -220,7 +218,14 @@ | ||
220 | <option name="project" value="LOCAL" /> | 218 | <option name="project" value="LOCAL" /> |
221 | <updated>1671638407457</updated> | 219 | <updated>1671638407457</updated> |
222 | </task> | 220 | </task> |
223 | - <option name="localTasksCounter" value="4" /> | 221 | + <task id="LOCAL-00004" summary="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化"> |
222 | + <created>1671721946433</created> | ||
223 | + <option name="number" value="00004" /> | ||
224 | + <option name="presentableId" value="LOCAL-00004" /> | ||
225 | + <option name="project" value="LOCAL" /> | ||
226 | + <updated>1671721946433</updated> | ||
227 | + </task> | ||
228 | + <option name="localTasksCounter" value="5" /> | ||
224 | <servers /> | 229 | <servers /> |
225 | </component> | 230 | </component> |
226 | <component name="TypeScriptGeneratedFilesManager"> | 231 | <component name="TypeScriptGeneratedFilesManager"> |
@@ -254,19 +259,20 @@ | @@ -254,19 +259,20 @@ | ||
254 | <MESSAGE value="1.0.0 首次提交" /> | 259 | <MESSAGE value="1.0.0 首次提交" /> |
255 | <MESSAGE value="1.0.1 1.新增fixture.py 2.新增查看院系接口测试用例 4.新增整理Excel表格数据入参问题 3.代码优化" /> | 260 | <MESSAGE value="1.0.1 1.新增fixture.py 2.新增查看院系接口测试用例 4.新增整理Excel表格数据入参问题 3.代码优化" /> |
256 | <MESSAGE value="1.0.1 1.新增发送邮件" /> | 261 | <MESSAGE value="1.0.1 1.新增发送邮件" /> |
257 | - <option name="LAST_COMMIT_MESSAGE" value="1.0.1 1.新增发送邮件" /> | 262 | + <MESSAGE value="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化" /> |
263 | + <option name="LAST_COMMIT_MESSAGE" value="1.0.2 1.新增的专业与新增的院系id做关联 2。新增教师用例 3。已知bug优化" /> | ||
258 | </component> | 264 | </component> |
259 | <component name="XDebuggerManager"> | 265 | <component name="XDebuggerManager"> |
260 | <breakpoint-manager> | 266 | <breakpoint-manager> |
261 | <breakpoints> | 267 | <breakpoints> |
262 | <line-breakpoint suspend="THREAD" type="python-line"> | 268 | <line-breakpoint suspend="THREAD" type="python-line"> |
263 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | 269 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
264 | - <line>148</line> | 270 | + <line>147</line> |
265 | <option name="timeStamp" value="5" /> | 271 | <option name="timeStamp" value="5" /> |
266 | </line-breakpoint> | 272 | </line-breakpoint> |
267 | <line-breakpoint suspend="THREAD" type="python-line"> | 273 | <line-breakpoint suspend="THREAD" type="python-line"> |
268 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | 274 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
269 | - <line>184</line> | 275 | + <line>183</line> |
270 | <option name="timeStamp" value="10" /> | 276 | <option name="timeStamp" value="10" /> |
271 | </line-breakpoint> | 277 | </line-breakpoint> |
272 | <line-breakpoint suspend="THREAD" type="python-line"> | 278 | <line-breakpoint suspend="THREAD" type="python-line"> |
@@ -289,31 +295,41 @@ | @@ -289,31 +295,41 @@ | ||
289 | <line>37</line> | 295 | <line>37</line> |
290 | <option name="timeStamp" value="14" /> | 296 | <option name="timeStamp" value="14" /> |
291 | </line-breakpoint> | 297 | </line-breakpoint> |
292 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
293 | - <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
294 | - <line>31</line> | ||
295 | - <option name="timeStamp" value="16" /> | ||
296 | - </line-breakpoint> | ||
297 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
298 | - <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | ||
299 | - <line>90</line> | ||
300 | - <option name="timeStamp" value="22" /> | ||
301 | - </line-breakpoint> | ||
302 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 298 | + <line-breakpoint suspend="THREAD" type="python-line"> |
303 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> | 299 | <url>file://$PROJECT_DIR$/testcase/test_03_teaching_affairs.py</url> |
304 | - <line>107</line> | 300 | + <line>108</line> |
305 | <option name="timeStamp" value="23" /> | 301 | <option name="timeStamp" value="23" /> |
306 | </line-breakpoint> | 302 | </line-breakpoint> |
307 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 303 | + <line-breakpoint suspend="THREAD" type="python-line"> |
308 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | 304 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
309 | - <line>178</line> | 305 | + <line>177</line> |
310 | <option name="timeStamp" value="24" /> | 306 | <option name="timeStamp" value="24" /> |
311 | </line-breakpoint> | 307 | </line-breakpoint> |
312 | - <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | 308 | + <line-breakpoint suspend="THREAD" type="python-line"> |
313 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | 309 | <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> |
314 | - <line>176</line> | 310 | + <line>175</line> |
315 | <option name="timeStamp" value="25" /> | 311 | <option name="timeStamp" value="25" /> |
316 | </line-breakpoint> | 312 | </line-breakpoint> |
313 | + <line-breakpoint suspend="THREAD" type="python-line"> | ||
314 | + <url>file://$PROJECT_DIR$/testcase/test_02_system_management.py</url> | ||
315 | + <line>258</line> | ||
316 | + <option name="timeStamp" value="26" /> | ||
317 | + </line-breakpoint> | ||
318 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
319 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
320 | + <line>36</line> | ||
321 | + <option name="timeStamp" value="30" /> | ||
322 | + </line-breakpoint> | ||
323 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
324 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
325 | + <line>28</line> | ||
326 | + <option name="timeStamp" value="33" /> | ||
327 | + </line-breakpoint> | ||
328 | + <line-breakpoint enabled="true" suspend="THREAD" type="python-line"> | ||
329 | + <url>file://$PROJECT_DIR$/tools/fixture.py</url> | ||
330 | + <line>35</line> | ||
331 | + <option name="timeStamp" value="34" /> | ||
332 | + </line-breakpoint> | ||
317 | </breakpoints> | 333 | </breakpoints> |
318 | <default-breakpoints> | 334 | <default-breakpoints> |
319 | <breakpoint type="python-exception"> | 335 | <breakpoint type="python-exception"> |
@@ -326,12 +342,12 @@ | @@ -326,12 +342,12 @@ | ||
326 | </component> | 342 | </component> |
327 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> | 343 | <component name="com.intellij.coverage.CoverageDataManagerImpl"> |
328 | <SUITE FILE_PATH="coverage/yxly$fixture__1_.coverage" NAME="fixture (1) Coverage Results" MODIFIED="1671721079921" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> | 344 | <SUITE FILE_PATH="coverage/yxly$fixture__1_.coverage" NAME="fixture (1) Coverage Results" MODIFIED="1671721079921" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tools" /> |
329 | - <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1671721675550" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 345 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_02_system_management_py.coverage" NAME="Unittests in test_02_system_management.py Coverage Results" MODIFIED="1671781789426" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
330 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_01_login_py.coverage" NAME="Unittests in test_01_login.py Coverage Results" MODIFIED="1671641941612" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 346 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_01_login_py.coverage" NAME="Unittests in test_01_login.py Coverage Results" MODIFIED="1671641941612" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
331 | <SUITE FILE_PATH="coverage/yxly$fixture.coverage" NAME="fixture Coverage Results" MODIFIED="1671628017395" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 347 | <SUITE FILE_PATH="coverage/yxly$fixture.coverage" NAME="fixture Coverage Results" MODIFIED="1671628017395" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
332 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_fixture_py.coverage" NAME="Unittests in fixture.py Coverage Results" MODIFIED="1671625806027" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 348 | <SUITE FILE_PATH="coverage/yxly$Unittests_in_fixture_py.coverage" NAME="Unittests in fixture.py Coverage Results" MODIFIED="1671625806027" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
333 | - <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_03_teaching_affairs_py.coverage" NAME="Unittests in test_03_teaching_affairs.py Coverage Results" MODIFIED="1671721363914" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 349 | + <SUITE FILE_PATH="coverage/yxly$Unittests_in_test_03_teaching_affairs_py.coverage" NAME="Unittests in test_03_teaching_affairs.py Coverage Results" MODIFIED="1671883540019" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
334 | <SUITE FILE_PATH="coverage/yxly$pytest_in_test_02_system_management_py.coverage" NAME="pytest in test_02_system_management.py Coverage Results" MODIFIED="1671617451891" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> | 350 | <SUITE FILE_PATH="coverage/yxly$pytest_in_test_02_system_management_py.coverage" NAME="pytest in test_02_system_management.py Coverage Results" MODIFIED="1671617451891" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> |
335 | - <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1671721748026" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> | 351 | + <SUITE FILE_PATH="coverage/yxly$run.coverage" NAME="run Coverage Results" MODIFIED="1671885036096" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> |
336 | </component> | 352 | </component> |
337 | </project> | 353 | </project> |
@@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
4 | [url] | 4 | [url] |
5 | ;测试环境 | 5 | ;测试环境 |
6 | url_ip = http://47.110.250.177:8000 | 6 | url_ip = http://47.110.250.177:8000 |
7 | +;url_ip = https://api-isx.workai.com.cn | ||
7 | login_token = {"Authorization": "Basic"+" "+"d29ya2FpOjEyMzQ1Ng=="} | 8 | login_token = {"Authorization": "Basic"+" "+"d29ya2FpOjEyMzQ1Ng=="} |
8 | 9 | ||
9 | 10 |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
data/teaching_affairs/test_03_course.xlsx
0 → 100644
不能预览此文件类型
data/teaching_affairs/test_03_student.xlsx
0 → 100644
不能预览此文件类型
不能预览此文件类型
@@ -45,9 +45,20 @@ testcase:测试用例 | @@ -45,9 +45,20 @@ testcase:测试用例 | ||
45 | > 3.签章管理 | 45 | > 3.签章管理 |
46 | > | 46 | > |
47 | > 4.模版库 | 47 | > 4.模版库 |
48 | -> | 48 | +#### 三.test_03_teaching_affairs.py: 实习教务管理用例 |
49 | +>1.学生信息管理 | ||
50 | +> | ||
51 | +> 2.教职员工管理 | ||
52 | +> | ||
53 | +> 3.班级管理 | ||
54 | +> | ||
55 | +> 4.实践课程管理 | ||
56 | +> | ||
49 | tools:工具 | 57 | tools:工具 |
50 | ---------- | 58 | ---------- |
59 | +>1.fixture: 获取json数据 | ||
60 | +> | ||
61 | +>2.handle_token: 登陆获取token | ||
51 | 62 | ||
52 | run.py:运行文件 | 63 | run.py:运行文件 |
53 | ---------- | 64 | ---------- |
logs/log.log
已删除
100644 → 0
此 diff 太大无法显示。
logs/log.log.2022-12-15
已删除
100644 → 0
此 diff 太大无法显示。
1 | -[{"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "12.67 S", "begin_time": "2022-12-19 17:56:09", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.87 S", "begin_time": "2022-12-19 17:58:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.24 S", "begin_time": "2022-12-19 18:17:28", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.45 S", "begin_time": "2022-12-19 18:19:47", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.72 S", "begin_time": "2022-12-19 19:32:22", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "103.32 S", "begin_time": "2022-12-19 20:35:55", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.95 S", "begin_time": "2022-12-20 12:06:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.92 S", "begin_time": "2022-12-20 21:34:11", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.77 S", "begin_time": "2022-12-20 21:35:13", "pass_rate": "37.50"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.41 S", "begin_time": "2022-12-21 22:40:23", "pass_rate": "32.00"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.73 S", "begin_time": "2022-12-21 22:52:34", "pass_rate": "32.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.49 S", "begin_time": "2022-12-21 22:55:57", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.04 S", "begin_time": "2022-12-21 22:57:36", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.09 S", "begin_time": "2022-12-21 23:02:18", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.30 S", "begin_time": "2022-12-21 23:10:55", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.19 S", "begin_time": "2022-12-22 00:05:50", "pass_rate": "36.00"}, {"success": 5, "all": 25, "fail": 16, "skip": 0, "error": 4, "runtime": "13.92 S", "begin_time": "2022-12-22 00:26:21", "pass_rate": "20.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "15.25 S", "begin_time": "2022-12-22 00:32:39", "pass_rate": "36.00"}, {"success": 0, "all": 8, "fail": 0, "skip": 0, "error": 8, "runtime": "0.71 S", "begin_time": "2022-12-22 00:47:52", "pass_rate": "0.00"}, {"success": 8, "all": 25, "fail": 17, "skip": 0, "error": 0, "runtime": "12.65 S", "begin_time": "2022-12-22 00:54:19", "pass_rate": "32.00"}, {"success": 4, "all": 15, "fail": 11, "skip": 0, "error": 0, "runtime": "10.52 S", "begin_time": "2022-12-22 15:54:09", "pass_rate": "26.67"}, {"success": 4, "all": 15, "fail": 11, "skip": 0, "error": 0, "runtime": "10.60 S", "begin_time": "2022-12-22 15:59:15", "pass_rate": "26.67"}, {"success": 7, "all": 26, "fail": 9, "skip": 0, "error": 10, "runtime": "13.48 S", "begin_time": "2022-12-22 23:03:40", "pass_rate": "26.92"}, {"success": 6, "all": 16, "fail": 10, "skip": 0, "error": 0, "runtime": "11.90 S", "begin_time": "2022-12-22 23:08:12", "pass_rate": "37.50"}, {"success": 10, "all": 26, "fail": 16, "skip": 0, "error": 0, "runtime": "15.15 S", "begin_time": "2022-12-22 23:09:09", "pass_rate": "38.46"}] | ||
1 | +[{"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "12.67 S", "begin_time": "2022-12-19 17:56:09", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.87 S", "begin_time": "2022-12-19 17:58:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.24 S", "begin_time": "2022-12-19 18:17:28", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.45 S", "begin_time": "2022-12-19 18:19:47", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "7.72 S", "begin_time": "2022-12-19 19:32:22", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "103.32 S", "begin_time": "2022-12-19 20:35:55", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.95 S", "begin_time": "2022-12-20 12:06:06", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.92 S", "begin_time": "2022-12-20 21:34:11", "pass_rate": "37.50"}, {"success": 9, "all": 24, "fail": 15, "skip": 0, "error": 0, "runtime": "6.77 S", "begin_time": "2022-12-20 21:35:13", "pass_rate": "37.50"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.41 S", "begin_time": "2022-12-21 22:40:23", "pass_rate": "32.00"}, {"success": 8, "all": 25, "fail": 12, "skip": 0, "error": 5, "runtime": "14.73 S", "begin_time": "2022-12-21 22:52:34", "pass_rate": "32.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.49 S", "begin_time": "2022-12-21 22:55:57", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 12, "skip": 0, "error": 4, "runtime": "14.04 S", "begin_time": "2022-12-21 22:57:36", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.09 S", "begin_time": "2022-12-21 23:02:18", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.30 S", "begin_time": "2022-12-21 23:10:55", "pass_rate": "36.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "14.19 S", "begin_time": "2022-12-22 00:05:50", "pass_rate": "36.00"}, {"success": 5, "all": 25, "fail": 16, "skip": 0, "error": 4, "runtime": "13.92 S", "begin_time": "2022-12-22 00:26:21", "pass_rate": "20.00"}, {"success": 9, "all": 25, "fail": 16, "skip": 0, "error": 0, "runtime": "15.25 S", "begin_time": "2022-12-22 00:32:39", "pass_rate": "36.00"}, {"success": 0, "all": 8, "fail": 0, "skip": 0, "error": 8, "runtime": "0.71 S", "begin_time": "2022-12-22 00:47:52", "pass_rate": "0.00"}, {"success": 8, "all": 25, "fail": 17, "skip": 0, "error": 0, "runtime": "12.65 S", "begin_time": "2022-12-22 00:54:19", "pass_rate": "32.00"}, {"success": 4, "all": 15, "fail": 11, "skip": 0, "error": 0, "runtime": "10.52 S", "begin_time": "2022-12-22 15:54:09", "pass_rate": "26.67"}, {"success": 4, "all": 15, "fail": 11, "skip": 0, "error": 0, "runtime": "10.60 S", "begin_time": "2022-12-22 15:59:15", "pass_rate": "26.67"}, {"success": 7, "all": 26, "fail": 9, "skip": 0, "error": 10, "runtime": "13.48 S", "begin_time": "2022-12-22 23:03:40", "pass_rate": "26.92"}, {"success": 6, "all": 16, "fail": 10, "skip": 0, "error": 0, "runtime": "11.90 S", "begin_time": "2022-12-22 23:08:12", "pass_rate": "37.50"}, {"success": 10, "all": 26, "fail": 16, "skip": 0, "error": 0, "runtime": "15.15 S", "begin_time": "2022-12-22 23:09:09", "pass_rate": "38.46"}, {"success": 11, "all": 26, "fail": 15, "skip": 0, "error": 0, "runtime": "17.06 S", "begin_time": "2022-12-23 11:04:53", "pass_rate": "42.31"}, {"success": 15, "all": 26, "fail": 11, "skip": 0, "error": 0, "runtime": "16.82 S", "begin_time": "2022-12-23 11:10:29", "pass_rate": "57.69"}, {"success": 14, "all": 31, "fail": 14, "skip": 0, "error": 3, "runtime": "16.68 S", "begin_time": "2022-12-23 11:24:23", "pass_rate": "45.16"}, {"success": 14, "all": 31, "fail": 14, "skip": 0, "error": 3, "runtime": "15.31 S", "begin_time": "2022-12-23 11:50:26", "pass_rate": "45.16"}, {"success": 14, "all": 31, "fail": 17, "skip": 0, "error": 0, "runtime": "19.41 S", "begin_time": "2022-12-23 11:53:02", "pass_rate": "45.16"}, {"success": 19, "all": 32, "fail": 13, "skip": 0, "error": 0, "runtime": "18.26 S", "begin_time": "2022-12-23 13:56:17", "pass_rate": "59.38"}, {"success": 21, "all": 32, "fail": 11, "skip": 0, "error": 0, "runtime": "19.63 S", "begin_time": "2022-12-23 14:54:12", "pass_rate": "65.62"}, {"success": 25, "all": 32, "fail": 7, "skip": 0, "error": 0, "runtime": "18.92 S", "begin_time": "2022-12-23 15:00:04", "pass_rate": "78.12"}, {"success": 26, "all": 32, "fail": 6, "skip": 0, "error": 0, "runtime": "18.33 S", "begin_time": "2022-12-23 15:01:19", "pass_rate": "81.25"}, {"success": 7, "all": 16, "fail": 0, "skip": 0, "error": 9, "runtime": "4.59 S", "begin_time": "2022-12-23 15:03:33", "pass_rate": "43.75"}, {"success": 4, "all": 9, "fail": 1, "skip": 0, "error": 4, "runtime": "2.53 S", "begin_time": "2022-12-23 15:04:12", "pass_rate": "44.44"}, {"success": 27, "all": 32, "fail": 5, "skip": 0, "error": 0, "runtime": "19.26 S", "begin_time": "2022-12-23 15:06:22", "pass_rate": "84.38"}, {"success": 27, "all": 32, "fail": 5, "skip": 0, "error": 0, "runtime": "18.92 S", "begin_time": "2022-12-23 15:07:58", "pass_rate": "84.38"}, {"success": 27, "all": 32, "fail": 5, "skip": 0, "error": 0, "runtime": "18.01 S", "begin_time": "2022-12-23 15:10:26", "pass_rate": "84.38"}, {"success": 28, "all": 32, "fail": 4, "skip": 0, "error": 0, "runtime": "19.33 S", "begin_time": "2022-12-23 15:31:35", "pass_rate": "87.50"}, {"success": 28, "all": 32, "fail": 4, "skip": 0, "error": 0, "runtime": "18.24 S", "begin_time": "2022-12-23 15:36:47", "pass_rate": "87.50"}, {"success": 29, "all": 32, "fail": 3, "skip": 0, "error": 0, "runtime": "21.94 S", "begin_time": "2022-12-23 16:20:37", "pass_rate": "90.62"}, {"success": 29, "all": 32, "fail": 3, "skip": 0, "error": 0, "runtime": "20.53 S", "begin_time": "2022-12-23 16:21:09", "pass_rate": "90.62"}, {"success": 31, "all": 32, "fail": 1, "skip": 0, "error": 0, "runtime": "19.00 S", "begin_time": "2022-12-23 16:25:20", "pass_rate": "96.88"}, {"success": 32, "all": 32, "fail": 0, "skip": 0, "error": 0, "runtime": "18.70 S", "begin_time": "2022-12-23 16:26:19", "pass_rate": "100.00"}, {"success": 32, "all": 32, "fail": 0, "skip": 0, "error": 0, "runtime": "18.82 S", "begin_time": "2022-12-23 16:43:23", "pass_rate": "100.00"}, {"success": 30, "all": 31, "fail": 0, "skip": 0, "error": 1, "runtime": "53.09 S", "begin_time": "2022-12-23 19:05:51", "pass_rate": "96.77"}, {"success": 31, "all": 31, "fail": 0, "skip": 0, "error": 0, "runtime": "18.21 S", "begin_time": "2022-12-23 19:09:09", "pass_rate": "100.00"}, {"success": 30, "all": 31, "fail": 1, "skip": 0, "error": 0, "runtime": "15.82 S", "begin_time": "2022-12-23 19:09:46", "pass_rate": "96.77"}, {"success": 3, "all": 3, "fail": 0, "skip": 0, "error": 0, "runtime": "1.54 S", "begin_time": "2022-12-24 17:34:33", "pass_rate": "100.00"}, {"success": 3, "all": 3, "fail": 0, "skip": 0, "error": 0, "runtime": "2.35 S", "begin_time": "2022-12-24 17:36:32", "pass_rate": "100.00"}, {"success": 5, "all": 5, "fail": 0, "skip": 0, "error": 0, "runtime": "8.45 S", "begin_time": "2022-12-24 20:26:29", "pass_rate": "100.00"}, {"success": 32, "all": 33, "fail": 1, "skip": 0, "error": 0, "runtime": "24.90 S", "begin_time": "2022-12-24 20:29:36", "pass_rate": "96.97"}, {"success": 33, "all": 33, "fail": 0, "skip": 0, "error": 0, "runtime": "24.88 S", "begin_time": "2022-12-24 20:30:36", "pass_rate": "100.00"}] |
@@ -156,15 +156,15 @@ | @@ -156,15 +156,15 @@ | ||
156 | </li> | 156 | </li> |
157 | <li class="list-group-item"> | 157 | <li class="list-group-item"> |
158 | <button type="button" class="btn btn-success">开始时间</button> | 158 | <button type="button" class="btn btn-success">开始时间</button> |
159 | - <span class="text-dark">2022-12-22 23:09:09</span> | 159 | + <span class="text-dark">2022-12-24 20:30:36</span> |
160 | </li> | 160 | </li> |
161 | <li class="list-group-item"> | 161 | <li class="list-group-item"> |
162 | <button type="button" class="btn btn-success">执行时间</button> | 162 | <button type="button" class="btn btn-success">执行时间</button> |
163 | - <span class="text-dark">15.15 S</span> | 163 | + <span class="text-dark">24.88 S</span> |
164 | </li> | 164 | </li> |
165 | <li class="list-group-item"> | 165 | <li class="list-group-item"> |
166 | <button type="button" class="btn btn-success">用例总数</button> | 166 | <button type="button" class="btn btn-success">用例总数</button> |
167 | - <span class="text-dark">26</span> | 167 | + <span class="text-dark">33</span> |
168 | </li> | 168 | </li> |
169 | 169 | ||
170 | 170 | ||
@@ -175,11 +175,11 @@ | @@ -175,11 +175,11 @@ | ||
175 | 175 | ||
176 | <li class="list-group-item"> | 176 | <li class="list-group-item"> |
177 | <button type="button" class="btn btn-success">成功用例</button> | 177 | <button type="button" class="btn btn-success">成功用例</button> |
178 | - <span class="text-success">10</span> | 178 | + <span class="text-success">33</span> |
179 | </li> | 179 | </li> |
180 | <li class="list-group-item"> | 180 | <li class="list-group-item"> |
181 | <button type="button" class="btn btn-warning">失败用例</button> | 181 | <button type="button" class="btn btn-warning">失败用例</button> |
182 | - <span class="text-warning">16</span> | 182 | + <span class="text-warning">0</span> |
183 | </li> | 183 | </li> |
184 | <li class="list-group-item"> | 184 | <li class="list-group-item"> |
185 | <button type="button" class="btn btn-danger">错误用例</button> | 185 | <button type="button" class="btn btn-danger">错误用例</button> |
@@ -225,9 +225,11 @@ | @@ -225,9 +225,11 @@ | ||
225 | <select id="testClass"> | 225 | <select id="testClass"> |
226 | <option>所有</option> | 226 | <option>所有</option> |
227 | 227 | ||
228 | + <option>Test03Course</option> | ||
229 | + | ||
228 | <option>TestLogin</option> | 230 | <option>TestLogin</option> |
229 | 231 | ||
230 | - <option>Test01CTeacher</option> | 232 | + <option>Test02Class</option> |
231 | 233 | ||
232 | <option>Test02Specialty</option> | 234 | <option>Test02Specialty</option> |
233 | 235 | ||
@@ -235,6 +237,8 @@ | @@ -235,6 +237,8 @@ | ||
235 | 237 | ||
236 | <option>Test03Year</option> | 238 | <option>Test03Year</option> |
237 | 239 | ||
240 | + <option>Test01CTeacher</option> | ||
241 | + | ||
238 | </select> | 242 | </select> |
239 | 243 | ||
240 | </th> | 244 | </th> |
@@ -264,7 +268,7 @@ | @@ -264,7 +268,7 @@ | ||
264 | <td class="TestLogin">TestLogin</td> | 268 | <td class="TestLogin">TestLogin</td> |
265 | <td>test_login_1</td> | 269 | <td>test_login_1</td> |
266 | <td>登陆成功</td> | 270 | <td>登陆成功</td> |
267 | - <td>0.522s</td> | 271 | + <td>0.411s</td> |
268 | 272 | ||
269 | <td class="text-success">成功</td> | 273 | <td class="text-success">成功</td> |
270 | 274 | ||
@@ -280,7 +284,7 @@ | @@ -280,7 +284,7 @@ | ||
280 | 284 | ||
281 | <pre>用例入参:{'way': 'name', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher', 'username': '17301249975'} | 285 | <pre>用例入参:{'way': 'name', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher', 'username': '17301249975'} |
282 | 预期结果:{'msg': 'success', 'code': 200} | 286 | 预期结果:{'msg': 'success', 'code': 200} |
283 | -实际结果:{'msg': 'success', 'code': 200, 'data': {'access_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxNzU3NzQ5LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiMDliZGY3YmItMjQ1OS00MzFkLWJkMjctYzlkNDAzZDJmNWU5Iiwic3RhdHVzIjoiYWN0aXZlIn0.SL0fKv0hKIY0754w_Ms-mcQeTyWntEiDqsblj6HqGluYqdNO8gpGp2cuA-k0LqgtUNpYHoWzHtwkUyEJ8qJW8XZl0cTZQwJxnPcQYHyug-YcNn9lBumeKd-NnmgPDvAZYW81IYYugNRYxExn9pTmscFAe3z6sLLwg8XDnXYGOoGtMQ8bbcjc-CAmB0Ppb9Pmy_hF2rSvAfKgtqM59bxJT3yEKePY4LLXTSBWty-aGvuvnyGRN2yrQt4-N0hrGHtk9ZjsFCCOxaZuWQotJDOc8hMCh4YGhVvfuAvT-Z8uxIfiJj7vx4aR88zq3SDUae3zWsbPzQ4dUN5d7pBIK71Q7w', 'token_type': 'bearer', 'refresh_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJhdGkiOiIwOWJkZjdiYi0yNDU5LTQzMWQtYmQyNy1jOWQ0MDNkMmY1ZTkiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxNzkzNzQ5LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiYzk5ZDRmOTktZmNmMS00YzkyLThmMmQtYTRmY2JjYjAyMjE2Iiwic3RhdHVzIjoiYWN0aXZlIn0.WAYJK0CJtF1lJZcU4APZMllGn7mL5UKWKAgQEHbmbleGw2vcC8_mG0l1UkYqa2FCJ20AjLuLwEeo2LctfXecSnkuEegTV4_uICr1Uay4EjSCfvQYc4co-ztGPczBiNvHbW3SqMJ8XSOEtDilJPTaHti28Fb9gYwUdhki11rpnqFZkrx900gkr57WqA20VB2yEtQc1OG8Eb64FLqsC-2YURzz4yoCmxlCIo3t6b49YyuLJOoHTgY7lwPKyVdH9IleICPeUYsHSF0rCh3sYKfKkmKOLODhXDZynRaf0nHUr9nC8y0fVhKpD3N_6-RI563UCc9KUFyX8qEE0e3CiwrW8Q', 'expires_in': 35999, 'scope': 'all', 'tenantType': '', 'brokerId': '', 'hroUserToken': None, 'authStatus': '', 'authenticationIdentity': 'login', 'type': 'teacher', 'userId': '1519959208529866753', 'studentId': '', 'teacherId': '1519959209276452865', 'tenantName': '', 'phone': '17301249975', 'schoolId': '1519958566130257922', 'tenantId': '', 'name': '校长', 'studentStatus': '', 'schoolName': '测试大学', 'status': 'active', 'jti': '09bdf7bb-2459-431d-bd27-c9d403d2f5e9'}} | 287 | +实际结果:{'msg': 'success', 'code': 200, 'data': {'access_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxOTIxMDM3LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiYmIxMjY3NWUtMWQ5NS00MzNjLThiY2UtNzI3Y2NiMjRiZGU5Iiwic3RhdHVzIjoiYWN0aXZlIn0.J68PkXm2fCncaIUm6bHn8vy5KS2F4NZVpqa3CV4enlJk_S7fcxlVykSDmWytmed_wO48cIPh25BCsRz3ZxrGebyYCUtTSQlywoMsOSJuu60MH0SKShu2FYxPHqfltGd09SRhQ53iXs7dS4FBB-eBqtvEatxUk3oCLTVmxvjGkvuf8mmdLodBarvi__5nGvZY10HV1AB5X30mZGQKKm2jSYdPVSrKzTXkq7dHqcnq9G3hT5t2JYpPxz9WRTuki47CL8mp8rT9cO8x1rNmn6ujRArUWJy9VevIzBrZx_ntz2alhWTHRUvKhVmTQ8PxxH-ci7bUe0qj46uI-GzeOsro2w', 'token_type': 'bearer', 'refresh_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRUeXBlIjoiIiwiYnJva2VySWQiOiIiLCJocm9Vc2VyVG9rZW4iOm51bGwsInVzZXJfbmFtZSI6IjE3MzAxMjQ5OTc1IiwiYXV0aFN0YXR1cyI6IiIsImF1dGhlbnRpY2F0aW9uSWRlbnRpdHkiOiJsb2dpbiIsInR5cGUiOiJ0ZWFjaGVyIiwidXNlcklkIjoiMTUxOTk1OTIwODUyOTg2Njc1MyIsImNsaWVudF9pZCI6IndvcmthaSIsInN0dWRlbnRJZCI6IiIsInRlYWNoZXJJZCI6IjE1MTk5NTkyMDkyNzY0NTI4NjUiLCJ0ZW5hbnROYW1lIjoiIiwicGhvbmUiOiIxNzMwMTI0OTk3NSIsInNjb3BlIjpbImFsbCJdLCJzY2hvb2xJZCI6IjE1MTk5NTg1NjYxMzAyNTc5MjIiLCJhdGkiOiJiYjEyNjc1ZS0xZDk1LTQzM2MtOGJjZS03MjdjY2IyNGJkZTkiLCJ0ZW5hbnRJZCI6IiIsIm5hbWUiOiLmoKHplb8iLCJzdHVkZW50U3RhdHVzIjoiIiwiZXhwIjoxNjcxOTU3MDM3LCJzY2hvb2xOYW1lIjoi5rWL6K-V5aSn5a2mIiwianRpIjoiYjZiYTlhN2ItZDA3NS00Njk1LTllMTItOWVhMWJjMTQwNTJhIiwic3RhdHVzIjoiYWN0aXZlIn0.UAdfMPkTUyNtAtPtPftd2Cyt27K0zdouMIq_OS84o4hsxPtlRRigakiSUcLqbzau6O70K4qaGdT5OlRlw1LtHsU_xlLMmz8rFDxE3BxElh89o5gAFZRsPTR4hmpLnjupuOZNTpcUaH51b2yEH9w9-yJZcJjy1lE9Sc8r0qIge1Dgw6J41pfqAmCiegeDgE2fgiqC1aWtjXpuHlHkIg2Wfvz30iGC7LZgivxhuOvWkK4dnSHxnzcO6gm3K1QGlMhB-8F4S92ZzF8Ngj294sKOohW133uV43m6x2LKI-n0ds9YknBxC-gLV0-oxZtRmSKK_yWbOFwKc24wnPltIwEi5w', 'expires_in': 35999, 'scope': 'all', 'tenantType': '', 'brokerId': '', 'hroUserToken': None, 'authStatus': '', 'authenticationIdentity': 'login', 'type': 'teacher', 'userId': '1519959208529866753', 'studentId': '', 'teacherId': '1519959209276452865', 'tenantName': '', 'phone': '17301249975', 'schoolId': '1519958566130257922', 'tenantId': '', 'name': '校长', 'studentStatus': '', 'schoolName': '测试大学', 'status': 'active', 'jti': 'bb12675e-1d95-433c-8bce-727ccb24bde9'}} |
284 | test_login_1 (test_01_login.TestLogin)执行——>【通过】 | 288 | test_login_1 (test_01_login.TestLogin)执行——>【通过】 |
285 | </pre> | 289 | </pre> |
286 | 290 | ||
@@ -293,9 +297,9 @@ test_login_1 (test_01_login.TestLogin)銵> | @@ -293,9 +297,9 @@ test_login_1 (test_01_login.TestLogin)銵> | ||
293 | <td class="TestLogin">TestLogin</td> | 297 | <td class="TestLogin">TestLogin</td> |
294 | <td>test_login_2</td> | 298 | <td>test_login_2</td> |
295 | <td>手机号填写错误的</td> | 299 | <td>手机号填写错误的</td> |
296 | - <td>0.22s</td> | 300 | + <td>0.267s</td> |
297 | 301 | ||
298 | - <td class="text-warning">失败</td> | 302 | + <td class="text-success">成功</td> |
299 | 303 | ||
300 | <td> | 304 | <td> |
301 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 305 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -307,61 +311,10 @@ test_login_1 (test_01_login.TestLogin)銵> | @@ -307,61 +311,10 @@ test_login_1 (test_01_login.TestLogin)銵> | ||
307 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 311 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
308 | 312 | ||
309 | 313 | ||
310 | - <pre>用例入参:{'username': '17301149975', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} | 314 | + <pre>用例入参:{'way': 'name', 'username': '17301149975', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} |
311 | 预期结果:{'code': 500, 'data': None, 'msg': '用户不存在'} | 315 | 预期结果:{'code': 500, 'data': None, 'msg': '用户不存在'} |
312 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | ||
313 | -test_login_2 (test_01_login.TestLogin)执行——>【失败】 | ||
314 | -</pre> | ||
315 | - | ||
316 | - | ||
317 | - <pre>Traceback (most recent call last): | ||
318 | -</pre> | ||
319 | - | ||
320 | - | ||
321 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
322 | - yield | ||
323 | -</pre> | ||
324 | - | ||
325 | - | ||
326 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
327 | - testMethod() | ||
328 | -</pre> | ||
329 | - | ||
330 | - | ||
331 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
332 | - return func(self, *args, **kwargs) | ||
333 | -</pre> | ||
334 | - | ||
335 | - | ||
336 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | ||
337 | - raise e | ||
338 | -</pre> | ||
339 | - | ||
340 | - | ||
341 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | ||
342 | - self.assertEqual(expected['msg'], res['msg']) | ||
343 | -</pre> | ||
344 | - | ||
345 | - | ||
346 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
347 | - assertion_func(first, second, msg=msg) | ||
348 | -</pre> | ||
349 | - | ||
350 | - | ||
351 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
352 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
353 | -</pre> | ||
354 | - | ||
355 | - | ||
356 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
357 | - raise self.failureException(msg) | ||
358 | -</pre> | ||
359 | - | ||
360 | - | ||
361 | - <pre>AssertionError: '用户不存在' != '参数不正确' | ||
362 | -- 用户不存在 | ||
363 | -+ 参数不正确 | ||
364 | - | 316 | +实际结果:{'code': 500, 'data': None, 'msg': '用户不存在'} |
317 | +test_login_2 (test_01_login.TestLogin)执行——>【通过】 | ||
365 | </pre> | 318 | </pre> |
366 | 319 | ||
367 | 320 | ||
@@ -373,9 +326,9 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 | @@ -373,9 +326,9 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 | ||
373 | <td class="TestLogin">TestLogin</td> | 326 | <td class="TestLogin">TestLogin</td> |
374 | <td>test_login_3</td> | 327 | <td>test_login_3</td> |
375 | <td>手机号不进行填写</td> | 328 | <td>手机号不进行填写</td> |
376 | - <td>0.214s</td> | 329 | + <td>0.239s</td> |
377 | 330 | ||
378 | - <td class="text-warning">失败</td> | 331 | + <td class="text-success">成功</td> |
379 | 332 | ||
380 | <td> | 333 | <td> |
381 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 334 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -387,61 +340,10 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 | @@ -387,61 +340,10 @@ test_login_2 (test_01_login.TestLogin)銵>仃韐乓 | ||
387 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 340 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
388 | 341 | ||
389 | 342 | ||
390 | - <pre>用例入参:{'username': '', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} | 343 | + <pre>用例入参:{'way': 'name', 'username': '', 'password': 'f85eea0e15e424aba8675f8848e2cb83', 'type': 'teacher'} |
391 | 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} | 344 | 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} |
392 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | ||
393 | -test_login_3 (test_01_login.TestLogin)执行——>【失败】 | ||
394 | -</pre> | ||
395 | - | ||
396 | - | ||
397 | - <pre>Traceback (most recent call last): | ||
398 | -</pre> | ||
399 | - | ||
400 | - | ||
401 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
402 | - yield | ||
403 | -</pre> | ||
404 | - | ||
405 | - | ||
406 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
407 | - testMethod() | ||
408 | -</pre> | ||
409 | - | ||
410 | - | ||
411 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
412 | - return func(self, *args, **kwargs) | ||
413 | -</pre> | ||
414 | - | ||
415 | - | ||
416 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | ||
417 | - raise e | ||
418 | -</pre> | ||
419 | - | ||
420 | - | ||
421 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | ||
422 | - self.assertEqual(expected['msg'], res['msg']) | ||
423 | -</pre> | ||
424 | - | ||
425 | - | ||
426 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
427 | - assertion_func(first, second, msg=msg) | ||
428 | -</pre> | ||
429 | - | ||
430 | - | ||
431 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
432 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
433 | -</pre> | ||
434 | - | ||
435 | - | ||
436 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
437 | - raise self.failureException(msg) | ||
438 | -</pre> | ||
439 | - | ||
440 | - | ||
441 | - <pre>AssertionError: '用户名和密码不能为空' != '参数不正确' | ||
442 | -- 用户名和密码不能为空 | ||
443 | -+ 参数不正确 | ||
444 | - | 345 | +实际结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} |
346 | +test_login_3 (test_01_login.TestLogin)执行——>【通过】 | ||
445 | </pre> | 347 | </pre> |
446 | 348 | ||
447 | 349 | ||
@@ -453,9 +355,9 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 | @@ -453,9 +355,9 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 | ||
453 | <td class="TestLogin">TestLogin</td> | 355 | <td class="TestLogin">TestLogin</td> |
454 | <td>test_login_4</td> | 356 | <td>test_login_4</td> |
455 | <td>密码填写错误</td> | 357 | <td>密码填写错误</td> |
456 | - <td>0.199s</td> | 358 | + <td>0.355s</td> |
457 | 359 | ||
458 | - <td class="text-warning">失败</td> | 360 | + <td class="text-success">成功</td> |
459 | 361 | ||
460 | <td> | 362 | <td> |
461 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 363 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -467,61 +369,10 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 | @@ -467,61 +369,10 @@ test_login_3 (test_01_login.TestLogin)銵>仃韐乓 | ||
467 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 369 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
468 | 370 | ||
469 | 371 | ||
470 | - <pre>用例入参:{'username': '17301249975', 'password': 'f85eea0e115e424aba8675f8848e2cb83', 'type': 'teacher'} | 372 | + <pre>用例入参:{'way': 'name', 'username': '17301249975', 'password': 'f85eea0e115e424aba8675f8848e2cb83', 'type': 'teacher'} |
471 | 预期结果:{'code': 500, 'data': None, 'msg': '密码不正确'} | 373 | 预期结果:{'code': 500, 'data': None, 'msg': '密码不正确'} |
472 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | ||
473 | -test_login_4 (test_01_login.TestLogin)执行——>【失败】 | ||
474 | -</pre> | ||
475 | - | ||
476 | - | ||
477 | - <pre>Traceback (most recent call last): | ||
478 | -</pre> | ||
479 | - | ||
480 | - | ||
481 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
482 | - yield | ||
483 | -</pre> | ||
484 | - | ||
485 | - | ||
486 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
487 | - testMethod() | ||
488 | -</pre> | ||
489 | - | ||
490 | - | ||
491 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
492 | - return func(self, *args, **kwargs) | ||
493 | -</pre> | ||
494 | - | ||
495 | - | ||
496 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | ||
497 | - raise e | ||
498 | -</pre> | ||
499 | - | ||
500 | - | ||
501 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | ||
502 | - self.assertEqual(expected['msg'], res['msg']) | ||
503 | -</pre> | ||
504 | - | ||
505 | - | ||
506 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
507 | - assertion_func(first, second, msg=msg) | ||
508 | -</pre> | ||
509 | - | ||
510 | - | ||
511 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
512 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
513 | -</pre> | ||
514 | - | ||
515 | - | ||
516 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
517 | - raise self.failureException(msg) | ||
518 | -</pre> | ||
519 | - | ||
520 | - | ||
521 | - <pre>AssertionError: '密码不正确' != '参数不正确' | ||
522 | -- 密码不正确 | ||
523 | -+ 参数不正确 | ||
524 | - | 374 | +实际结果:{'code': 500, 'data': None, 'msg': '密码不正确'} |
375 | +test_login_4 (test_01_login.TestLogin)执行——>【通过】 | ||
525 | </pre> | 376 | </pre> |
526 | 377 | ||
527 | 378 | ||
@@ -533,9 +384,9 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 | @@ -533,9 +384,9 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 | ||
533 | <td class="TestLogin">TestLogin</td> | 384 | <td class="TestLogin">TestLogin</td> |
534 | <td>test_login_5</td> | 385 | <td>test_login_5</td> |
535 | <td>密码不进行填写</td> | 386 | <td>密码不进行填写</td> |
536 | - <td>0.217s</td> | 387 | + <td>0.243s</td> |
537 | 388 | ||
538 | - <td class="text-warning">失败</td> | 389 | + <td class="text-success">成功</td> |
539 | 390 | ||
540 | <td> | 391 | <td> |
541 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 392 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -547,61 +398,10 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 | @@ -547,61 +398,10 @@ test_login_4 (test_01_login.TestLogin)銵>仃韐乓 | ||
547 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 398 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
548 | 399 | ||
549 | 400 | ||
550 | - <pre>用例入参:{'username': '17301249975', 'password': '', 'type': 'teacher'} | 401 | + <pre>用例入参:{'way': 'name', 'username': '17301249975', 'password': '', 'type': 'teacher'} |
551 | 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} | 402 | 预期结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} |
552 | -实际结果:{'code': 500, 'data': None, 'msg': '参数不正确'} | ||
553 | -test_login_5 (test_01_login.TestLogin)执行——>【失败】 | ||
554 | -</pre> | ||
555 | - | ||
556 | - | ||
557 | - <pre>Traceback (most recent call last): | ||
558 | -</pre> | ||
559 | - | ||
560 | - | ||
561 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
562 | - yield | ||
563 | -</pre> | ||
564 | - | ||
565 | - | ||
566 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
567 | - testMethod() | ||
568 | -</pre> | ||
569 | - | ||
570 | - | ||
571 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
572 | - return func(self, *args, **kwargs) | ||
573 | -</pre> | ||
574 | - | ||
575 | - | ||
576 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 57, in test_login | ||
577 | - raise e | ||
578 | -</pre> | ||
579 | - | ||
580 | - | ||
581 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_01_login.py", line 49, in test_login | ||
582 | - self.assertEqual(expected['msg'], res['msg']) | ||
583 | -</pre> | ||
584 | - | ||
585 | - | ||
586 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
587 | - assertion_func(first, second, msg=msg) | ||
588 | -</pre> | ||
589 | - | ||
590 | - | ||
591 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
592 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
593 | -</pre> | ||
594 | - | ||
595 | - | ||
596 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
597 | - raise self.failureException(msg) | ||
598 | -</pre> | ||
599 | - | ||
600 | - | ||
601 | - <pre>AssertionError: '用户名和密码不能为空' != '参数不正确' | ||
602 | -- 用户名和密码不能为空 | ||
603 | -+ 参数不正确 | ||
604 | - | 403 | +实际结果:{'code': 500, 'data': None, 'msg': '用户名和密码不能为空'} |
404 | +test_login_5 (test_01_login.TestLogin)执行——>【通过】 | ||
605 | </pre> | 405 | </pre> |
606 | 406 | ||
607 | 407 | ||
@@ -613,7 +413,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 | @@ -613,7 +413,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 | ||
613 | <td class="Test01Department">Test01Department</td> | 413 | <td class="Test01Department">Test01Department</td> |
614 | <td>test_add_department_1</td> | 414 | <td>test_add_department_1</td> |
615 | <td>新增院系成功</td> | 415 | <td>新增院系成功</td> |
616 | - <td>0.275s</td> | 416 | + <td>0.306s</td> |
617 | 417 | ||
618 | <td class="text-success">成功</td> | 418 | <td class="text-success">成功</td> |
619 | 419 | ||
@@ -627,7 +427,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 | @@ -627,7 +427,7 @@ test_login_5 (test_01_login.TestLogin)銵>仃韐乓 | ||
627 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 427 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
628 | 428 | ||
629 | 429 | ||
630 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:11_1', 'code': 'py_code20221222_23:09:11_1'} | 430 | + <pre>用例入参:{'name': 'py自动化院系20221224_20:30:38_1', 'code': 'py_code20221224_20:30:38_1'} |
631 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} | 431 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
632 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} | 432 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
633 | test_add_department_1 (test_02_system_management.Test01Department)执行——>【通过】 | 433 | test_add_department_1 (test_02_system_management.Test01Department)执行——>【通过】 |
@@ -642,9 +442,9 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> | @@ -642,9 +442,9 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> | ||
642 | <td class="Test01Department">Test01Department</td> | 442 | <td class="Test01Department">Test01Department</td> |
643 | <td>test_add_department_2</td> | 443 | <td>test_add_department_2</td> |
644 | <td>院系名称未填写</td> | 444 | <td>院系名称未填写</td> |
645 | - <td>0.225s</td> | 445 | + <td>0.306s</td> |
646 | 446 | ||
647 | - <td class="text-warning">失败</td> | 447 | + <td class="text-success">成功</td> |
648 | 448 | ||
649 | <td> | 449 | <td> |
650 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 450 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -656,61 +456,10 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> | @@ -656,61 +456,10 @@ test_add_department_1 (test_02_system_management.Test01Department)銵> | ||
656 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 456 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
657 | 457 | ||
658 | 458 | ||
659 | - <pre>用例入参:{'name': '', 'code': 'py_code20221222_23:09:11_2'} | ||
660 | -预期结果: {'msg': '院系名称未填写', 'code': 500, 'data': None} | ||
661 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
662 | -test_add_department_2 (test_02_system_management.Test01Department)执行——>【失败】 | ||
663 | -</pre> | ||
664 | - | ||
665 | - | ||
666 | - <pre>Traceback (most recent call last): | ||
667 | -</pre> | ||
668 | - | ||
669 | - | ||
670 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
671 | - yield | ||
672 | -</pre> | ||
673 | - | ||
674 | - | ||
675 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
676 | - testMethod() | ||
677 | -</pre> | ||
678 | - | ||
679 | - | ||
680 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
681 | - return func(self, *args, **kwargs) | ||
682 | -</pre> | ||
683 | - | ||
684 | - | ||
685 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | ||
686 | - raise e | ||
687 | -</pre> | ||
688 | - | ||
689 | - | ||
690 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | ||
691 | - self.assertEqual(expected['msg'], res['msg']) | ||
692 | -</pre> | ||
693 | - | ||
694 | - | ||
695 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
696 | - assertion_func(first, second, msg=msg) | ||
697 | -</pre> | ||
698 | - | ||
699 | - | ||
700 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
701 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
702 | -</pre> | ||
703 | - | ||
704 | - | ||
705 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
706 | - raise self.failureException(msg) | ||
707 | -</pre> | ||
708 | - | ||
709 | - | ||
710 | - <pre>AssertionError: '院系名称未填写' != 'size must be between 1 and 30' | ||
711 | -- 院系名称未填写 | ||
712 | -+ size must be between 1 and 30 | ||
713 | - | 459 | + <pre>用例入参:{'name': '', 'code': 'py_code20221224_20:30:39_2'} |
460 | +预期结果: {'msg': '院系名称不能为空', 'code': 500, 'data': None} | ||
461 | +实际结果: {'msg': '院系名称不能为空', 'code': 500, 'data': None} | ||
462 | +test_add_department_2 (test_02_system_management.Test01Department)执行——>【通过】 | ||
714 | </pre> | 463 | </pre> |
715 | 464 | ||
716 | 465 | ||
@@ -722,7 +471,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> | @@ -722,7 +471,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> | ||
722 | <td class="Test01Department">Test01Department</td> | 471 | <td class="Test01Department">Test01Department</td> |
723 | <td>test_add_department_3</td> | 472 | <td>test_add_department_3</td> |
724 | <td>院系名称重复</td> | 473 | <td>院系名称重复</td> |
725 | - <td>0.282s</td> | 474 | + <td>0.275s</td> |
726 | 475 | ||
727 | <td class="text-success">成功</td> | 476 | <td class="text-success">成功</td> |
728 | 477 | ||
@@ -736,7 +485,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> | @@ -736,7 +485,7 @@ test_add_department_2 (test_02_system_management.Test01Department)銵> | ||
736 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 485 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
737 | 486 | ||
738 | 487 | ||
739 | - <pre>用例入参:{'name': '院系1', 'code': 'py_code20221222_23:09:11_3'} | 488 | + <pre>用例入参:{'name': '院系1', 'code': 'py_code20221224_20:30:39_3'} |
740 | 预期结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} | 489 | 预期结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} |
741 | 实际结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} | 490 | 实际结果: {'msg': '院系名称已存在,请确认', 'code': 500, 'data': None} |
742 | test_add_department_3 (test_02_system_management.Test01Department)执行——>【通过】 | 491 | test_add_department_3 (test_02_system_management.Test01Department)执行——>【通过】 |
@@ -751,9 +500,9 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> | @@ -751,9 +500,9 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> | ||
751 | <td class="Test01Department">Test01Department</td> | 500 | <td class="Test01Department">Test01Department</td> |
752 | <td>test_add_department_4</td> | 501 | <td>test_add_department_4</td> |
753 | <td>院系名称长度不可大于30位</td> | 502 | <td>院系名称长度不可大于30位</td> |
754 | - <td>0.222s</td> | 503 | + <td>0.297s</td> |
755 | 504 | ||
756 | - <td class="text-warning">失败</td> | 505 | + <td class="text-success">成功</td> |
757 | 506 | ||
758 | <td> | 507 | <td> |
759 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 508 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -765,61 +514,10 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> | @@ -765,61 +514,10 @@ test_add_department_3 (test_02_system_management.Test01Department)銵> | ||
765 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 514 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
766 | 515 | ||
767 | 516 | ||
768 | - <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20221222_23:09:11_4'} | ||
769 | -预期结果: {'msg': '院系名称长度不可大于30', 'code': 500, 'data': None} | ||
770 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
771 | -test_add_department_4 (test_02_system_management.Test01Department)执行——>【失败】 | ||
772 | -</pre> | ||
773 | - | ||
774 | - | ||
775 | - <pre>Traceback (most recent call last): | ||
776 | -</pre> | ||
777 | - | ||
778 | - | ||
779 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
780 | - yield | ||
781 | -</pre> | ||
782 | - | ||
783 | - | ||
784 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
785 | - testMethod() | ||
786 | -</pre> | ||
787 | - | ||
788 | - | ||
789 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
790 | - return func(self, *args, **kwargs) | ||
791 | -</pre> | ||
792 | - | ||
793 | - | ||
794 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | ||
795 | - raise e | ||
796 | -</pre> | ||
797 | - | ||
798 | - | ||
799 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | ||
800 | - self.assertEqual(expected['msg'], res['msg']) | ||
801 | -</pre> | ||
802 | - | ||
803 | - | ||
804 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
805 | - assertion_func(first, second, msg=msg) | ||
806 | -</pre> | ||
807 | - | ||
808 | - | ||
809 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
810 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
811 | -</pre> | ||
812 | - | ||
813 | - | ||
814 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
815 | - raise self.failureException(msg) | ||
816 | -</pre> | ||
817 | - | ||
818 | - | ||
819 | - <pre>AssertionError: '院系名称长度不可大于30' != 'size must be between 1 and 30' | ||
820 | -- 院系名称长度不可大于30 | ||
821 | -+ size must be between 1 and 30 | ||
822 | - | 517 | + <pre>用例入参:{'name': '院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试院系名称长度大于30的测试', 'code': 'py_code20221224_20:30:39_4'} |
518 | +预期结果: {'msg': '院系名称长度不可大于30位', 'code': 500, 'data': None} | ||
519 | +实际结果: {'msg': '院系名称长度不可大于30位', 'code': 500, 'data': None} | ||
520 | +test_add_department_4 (test_02_system_management.Test01Department)执行——>【通过】 | ||
823 | </pre> | 521 | </pre> |
824 | 522 | ||
825 | 523 | ||
@@ -831,9 +529,9 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> | @@ -831,9 +529,9 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> | ||
831 | <td class="Test01Department">Test01Department</td> | 529 | <td class="Test01Department">Test01Department</td> |
832 | <td>test_add_department_5</td> | 530 | <td>test_add_department_5</td> |
833 | <td>院系代码不能为空</td> | 531 | <td>院系代码不能为空</td> |
834 | - <td>0.216s</td> | 532 | + <td>0.296s</td> |
835 | 533 | ||
836 | - <td class="text-warning">失败</td> | 534 | + <td class="text-success">成功</td> |
837 | 535 | ||
838 | <td> | 536 | <td> |
839 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 537 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -845,61 +543,10 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> | @@ -845,61 +543,10 @@ test_add_department_4 (test_02_system_management.Test01Department)銵> | ||
845 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 543 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
846 | 544 | ||
847 | 545 | ||
848 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_5', 'code': ''} | 546 | + <pre>用例入参:{'name': 'py自动化院系20221224_20:30:39_5', 'code': ''} |
849 | 预期结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} | 547 | 预期结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} |
850 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
851 | -test_add_department_5 (test_02_system_management.Test01Department)执行——>【失败】 | ||
852 | -</pre> | ||
853 | - | ||
854 | - | ||
855 | - <pre>Traceback (most recent call last): | ||
856 | -</pre> | ||
857 | - | ||
858 | - | ||
859 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
860 | - yield | ||
861 | -</pre> | ||
862 | - | ||
863 | - | ||
864 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
865 | - testMethod() | ||
866 | -</pre> | ||
867 | - | ||
868 | - | ||
869 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
870 | - return func(self, *args, **kwargs) | ||
871 | -</pre> | ||
872 | - | ||
873 | - | ||
874 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | ||
875 | - raise e | ||
876 | -</pre> | ||
877 | - | ||
878 | - | ||
879 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | ||
880 | - self.assertEqual(expected['msg'], res['msg']) | ||
881 | -</pre> | ||
882 | - | ||
883 | - | ||
884 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
885 | - assertion_func(first, second, msg=msg) | ||
886 | -</pre> | ||
887 | - | ||
888 | - | ||
889 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
890 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
891 | -</pre> | ||
892 | - | ||
893 | - | ||
894 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
895 | - raise self.failureException(msg) | ||
896 | -</pre> | ||
897 | - | ||
898 | - | ||
899 | - <pre>AssertionError: '院系代码不能为空' != 'size must be between 1 and 30' | ||
900 | -- 院系代码不能为空 | ||
901 | -+ size must be between 1 and 30 | ||
902 | - | 548 | +实际结果: {'msg': '院系代码不能为空', 'code': 500, 'data': None} |
549 | +test_add_department_5 (test_02_system_management.Test01Department)执行——>【通过】 | ||
903 | </pre> | 550 | </pre> |
904 | 551 | ||
905 | 552 | ||
@@ -911,9 +558,9 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> | @@ -911,9 +558,9 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> | ||
911 | <td class="Test01Department">Test01Department</td> | 558 | <td class="Test01Department">Test01Department</td> |
912 | <td>test_add_department_6</td> | 559 | <td>test_add_department_6</td> |
913 | <td>院系代码长度不可大于30</td> | 560 | <td>院系代码长度不可大于30</td> |
914 | - <td>0.271s</td> | 561 | + <td>0.293s</td> |
915 | 562 | ||
916 | - <td class="text-warning">失败</td> | 563 | + <td class="text-success">成功</td> |
917 | 564 | ||
918 | <td> | 565 | <td> |
919 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 566 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -925,90 +572,39 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> | @@ -925,90 +572,39 @@ test_add_department_5 (test_02_system_management.Test01Department)銵> | ||
925 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 572 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
926 | 573 | ||
927 | 574 | ||
928 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_6', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} | ||
929 | -预期结果: {'msg': '院系代码不可大于30', 'code': 500, 'data': None} | ||
930 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
931 | -test_add_department_6 (test_02_system_management.Test01Department)执行——>【失败】 | 575 | + <pre>用例入参:{'name': 'py自动化院系20221224_20:30:40_6', 'code': '院系代码长度大于30的测试院系代码长度大于30的测试院系代码长度大于30的测试'} |
576 | +预期结果: {'msg': '院系代码长度不可大于30', 'code': 500, 'data': None} | ||
577 | +实际结果: {'msg': '院系代码长度不可大于30', 'code': 500, 'data': None} | ||
578 | +test_add_department_6 (test_02_system_management.Test01Department)执行——>【通过】 | ||
932 | </pre> | 579 | </pre> |
933 | 580 | ||
934 | - | ||
935 | - <pre>Traceback (most recent call last): | ||
936 | -</pre> | ||
937 | 581 | ||
582 | + </td> | ||
583 | + </tr> | ||
584 | + | ||
585 | + <tr> | ||
586 | + <td>12</td> | ||
587 | + <td class="Test01Department">Test01Department</td> | ||
588 | + <td>test_select_department_1</td> | ||
589 | + <td>查看院系列表</td> | ||
590 | + <td>0.333s</td> | ||
591 | + | ||
592 | + <td class="text-success">成功</td> | ||
593 | + | ||
594 | + <td> | ||
595 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
596 | + </td> | ||
597 | + </tr> | ||
938 | 598 | ||
939 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
940 | - yield | ||
941 | -</pre> | 599 | + <tr class="test_log"> |
600 | + | ||
601 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
942 | 602 | ||
943 | 603 | ||
944 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
945 | - testMethod() | ||
946 | -</pre> | ||
947 | - | ||
948 | - | ||
949 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
950 | - return func(self, *args, **kwargs) | ||
951 | -</pre> | ||
952 | - | ||
953 | - | ||
954 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 92, in test_add_department | ||
955 | - raise e | ||
956 | -</pre> | ||
957 | - | ||
958 | - | ||
959 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 85, in test_add_department | ||
960 | - self.assertEqual(expected['msg'], res['msg']) | ||
961 | -</pre> | ||
962 | - | ||
963 | - | ||
964 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
965 | - assertion_func(first, second, msg=msg) | ||
966 | -</pre> | ||
967 | - | ||
968 | - | ||
969 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
970 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
971 | -</pre> | ||
972 | - | ||
973 | - | ||
974 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
975 | - raise self.failureException(msg) | ||
976 | -</pre> | ||
977 | - | ||
978 | - | ||
979 | - <pre>AssertionError: '院系代码不可大于30' != 'size must be between 1 and 30' | ||
980 | -- 院系代码不可大于30 | ||
981 | -+ size must be between 1 and 30 | ||
982 | - | ||
983 | -</pre> | ||
984 | - | ||
985 | - | ||
986 | - </td> | ||
987 | - </tr> | ||
988 | - | ||
989 | - <tr> | ||
990 | - <td>12</td> | ||
991 | - <td class="Test01Department">Test01Department</td> | ||
992 | - <td>test_add_department_7</td> | ||
993 | - <td>新增院系成功</td> | ||
994 | - <td>0.301s</td> | ||
995 | - | ||
996 | - <td class="text-success">成功</td> | ||
997 | - | ||
998 | - <td> | ||
999 | - <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1000 | - </td> | ||
1001 | - </tr> | ||
1002 | - | ||
1003 | - <tr class="test_log"> | ||
1004 | - | ||
1005 | - <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1006 | - | ||
1007 | - | ||
1008 | - <pre>用例入参:{'name': 'py自动化院系20221222_23:09:12_7', 'code': 'py_code20221222_23:09:12_7'} | ||
1009 | -预期结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1010 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1011 | -test_add_department_7 (test_02_system_management.Test01Department)执行——>【通过】 | 604 | + <pre>用例入参:{'pageNumber': '0', 'pageSize': '3'} |
605 | +预期结果: {'msg': 'success', 'code': 200} | ||
606 | +实际结果: {'msg': 'success', 'code': 200, 'data': {'records': [{'id': '1606628416684421122', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221224_20:30:38_1', 'code': 'py_code20221224_20:30:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671885039000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606628162723508226', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221224_20:29:38_1', 'code': 'py_code20221224_20:29:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671884978000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606245531808821249', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_19:09:11_1', 'code': 'py_code20221223_19:09:11_1', 'createdBy': '1519959209276452865', 'createdTime': 1671793752000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606208847079665666', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:43:25_1', 'code': 'py_code20221223_16:43:25_1', 'createdBy': '1519959209276452865', 'createdTime': 1671785006000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606204552531800066', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:26:21_1', 'code': 'py_code20221223_16:26:21_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783982000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606204305550209026', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:25:22_1', 'code': 'py_code20221223_16:25:22_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783923000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606203250993131521', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:21:11_1', 'code': 'py_code20221223_16:21:11_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783672000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606203118486679554', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_16:20:39_1', 'code': 'py_code20221223_16:20:39_1', 'createdBy': '1519959209276452865', 'createdTime': 1671783640000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606192084417900546', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:36:49_1', 'code': 'py_code20221223_15:36:49_1', 'createdBy': '1519959209276452865', 'createdTime': 1671781009000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606190781226676225', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:31:38_1', 'code': 'py_code20221223_15:31:38_1', 'createdBy': '1519959209276452865', 'createdTime': 1671780698000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606185455395926018', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:10:28_1', 'code': 'py_code20221223_15:10:28_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779429000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606184834047537153', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:08:00_1', 'code': 'py_code20221223_15:08:00_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779281000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606184430383525890', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:06:24_1', 'code': 'py_code20221223_15:06:24_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779184000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606183724666712065', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:03:35_1', 'code': 'py_code20221223_15:03:35_1', 'createdBy': '1519959209276452865', 'createdTime': 1671779016000, 'updatedBy': None, 'updatedTime': None}, {'id': '1606183161950498817', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221223_15:01:21_1', 'code': 'py_code20221223_15:01:21_1', 'createdBy': '1519959209276452865', 'createdTime': 1671778882000, 'updatedBy': None, 'updatedTime': None}], 'total': 417, 'size': 15, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'countId': '', 'maxLimit': None, 'pages': 28}} | ||
607 | +test_select_department_1 (test_02_system_management.Test01Department)执行——>【通过】 | ||
1012 | </pre> | 608 | </pre> |
1013 | 609 | ||
1014 | 610 | ||
@@ -1017,39 +613,10 @@ test_add_department_7 (test_02_system_management.Test01Department)銵> | @@ -1017,39 +613,10 @@ test_add_department_7 (test_02_system_management.Test01Department)銵> | ||
1017 | 613 | ||
1018 | <tr> | 614 | <tr> |
1019 | <td>13</td> | 615 | <td>13</td> |
1020 | - <td class="Test01Department">Test01Department</td> | ||
1021 | - <td>test_select_department_1</td> | ||
1022 | - <td>查看院系列表</td> | ||
1023 | - <td>0.337s</td> | ||
1024 | - | ||
1025 | - <td class="text-success">成功</td> | ||
1026 | - | ||
1027 | - <td> | ||
1028 | - <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1029 | - </td> | ||
1030 | - </tr> | ||
1031 | - | ||
1032 | - <tr class="test_log"> | ||
1033 | - | ||
1034 | - <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1035 | - | ||
1036 | - | ||
1037 | - <pre>用例入参:{'pageNumber': '0', 'pageSize': '3'} | ||
1038 | -预期结果: {'msg': 'success', 'code': 200} | ||
1039 | -实际结果: {'msg': 'success', 'code': 200, 'data': {'records': [{'id': '1605943544424820738', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:09:12_7', 'code': 'py_code20221222_23:09:12_7', 'createdBy': '1519959209276452865', 'createdTime': 1671721753000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605943538108198913', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:09:11_1', 'code': 'py_code20221222_23:09:11_1', 'createdBy': '1519959209276452865', 'createdTime': 1671721751000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605942164523970561', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:03:43_7', 'code': 'py_code20221222_23:03:43_7', 'createdBy': '1519959209276452865', 'createdTime': 1671721424000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605942157955690498', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_23:03:41_1', 'code': 'py_code20221222_23:03:41_1', 'createdBy': '1519959209276452865', 'createdTime': 1671721422000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605840585850482690', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:20:05_7', 'code': 'py_code20221222_16:20:05_7', 'createdBy': '1519959209276452865', 'createdTime': 1671697205000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605840579781324801', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:20:03_1', 'code': 'py_code20221222_16:20:03_1', 'createdBy': '1519959209276452865', 'createdTime': 1671697204000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605839199377158145', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:14:34_7', 'code': 'py_code20221222_16:14:34_7', 'createdBy': '1519959209276452865', 'createdTime': 1671696875000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605839193396080641', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_16:14:33_1', 'code': 'py_code20221222_16:14:33_1', 'createdBy': '1519959209276452865', 'createdTime': 1671696873000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605602173553864706', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:32:43_7', 'code': 'py_code20221222_00:32:43_7', 'createdBy': '1519959209276452865', 'createdTime': 1671640363000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605602164590637057', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:32:41_1', 'code': 'py_code20221222_00:32:41_1', 'createdBy': '1519959209276452865', 'createdTime': 1671640361000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605600586030772226', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:26:24_7', 'code': 'py_code20221222_00:26:24_7', 'createdBy': '1519959209276452865', 'createdTime': 1671639985000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605600579462492161', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:26:23_1', 'code': 'py_code20221222_00:26:23_1', 'createdBy': '1519959209276452865', 'createdTime': 1671639983000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605595424071479298', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:05:54_7', 'code': 'py_code20221222_00:05:54_7', 'createdBy': '1519959209276452865', 'createdTime': 1671638754000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605595417662582785', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:05:52_1', 'code': 'py_code20221222_00:05:52_1', 'createdBy': '1519959209276452865', 'createdTime': 1671638753000, 'updatedBy': None, 'updatedTime': None}, {'id': '1605594240384364546', 'schoolId': '1519958566130257922', 'name': 'py自动化院系20221222_00:01:11_7', 'code': 'py_code20221222_00:01:11_7', 'createdBy': '1519959209276452865', 'createdTime': 1671638472000, 'updatedBy': None, 'updatedTime': None}], 'total': 392, 'size': 15, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'countId': '', 'maxLimit': None, 'pages': 27}} | ||
1040 | -test_select_department_1 (test_02_system_management.Test01Department)执行——>【通过】 | ||
1041 | -</pre> | ||
1042 | - | ||
1043 | - | ||
1044 | - </td> | ||
1045 | - </tr> | ||
1046 | - | ||
1047 | - <tr> | ||
1048 | - <td>14</td> | ||
1049 | <td class="Test02Specialty">Test02Specialty</td> | 616 | <td class="Test02Specialty">Test02Specialty</td> |
1050 | <td>test_add_specialty_01</td> | 617 | <td>test_add_specialty_01</td> |
1051 | <td>新增专业成功</td> | 618 | <td>新增专业成功</td> |
1052 | - <td>0.971s</td> | 619 | + <td>1.04s</td> |
1053 | 620 | ||
1054 | <td class="text-success">成功</td> | 621 | <td class="text-success">成功</td> |
1055 | 622 | ||
@@ -1063,7 +630,7 @@ test_select_department_1 (test_02_system_management.Test01Department)銵 | @@ -1063,7 +630,7 @@ test_select_department_1 (test_02_system_management.Test01Department)銵 | ||
1063 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 630 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1064 | 631 | ||
1065 | 632 | ||
1066 | - <pre>用例入参:{'name': 'py专业23:09:13_1', 'code': 'py_code23:09:13_1', 'departmentId': '1605943544424820738', 'category': 'science'} | 633 | + <pre>用例入参:{'name': 'py专业20:30:41_1', 'code': 'py_code20:30:41_1', 'departmentId': '1606628416684421122', 'category': 'science'} |
1067 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} | 634 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1068 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} | 635 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1069 | test_add_specialty_01 (test_02_system_management.Test02Specialty)执行——>【通过】 | 636 | test_add_specialty_01 (test_02_system_management.Test02Specialty)执行——>【通过】 |
@@ -1074,11 +641,11 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> | @@ -1074,11 +641,11 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> | ||
1074 | </tr> | 641 | </tr> |
1075 | 642 | ||
1076 | <tr> | 643 | <tr> |
1077 | - <td>15</td> | 644 | + <td>14</td> |
1078 | <td class="Test02Specialty">Test02Specialty</td> | 645 | <td class="Test02Specialty">Test02Specialty</td> |
1079 | <td>test_add_specialty_02</td> | 646 | <td>test_add_specialty_02</td> |
1080 | <td>新增专业失败,院系未填写</td> | 647 | <td>新增专业失败,院系未填写</td> |
1081 | - <td>0.867s</td> | 648 | + <td>0.939s</td> |
1082 | 649 | ||
1083 | <td class="text-success">成功</td> | 650 | <td class="text-success">成功</td> |
1084 | 651 | ||
@@ -1092,7 +659,7 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> | @@ -1092,7 +659,7 @@ test_add_specialty_01 (test_02_system_management.Test02Specialty)銵> | ||
1092 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 659 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1093 | 660 | ||
1094 | 661 | ||
1095 | - <pre>用例入参:{'name': 'py专业23:09:14_2', 'code': 'py_code23:09:14_2', 'departmentId': '', 'category': 'science'} | 662 | + <pre>用例入参:{'name': 'py专业20:30:42_2', 'code': 'py_code20:30:42_2', 'departmentId': '', 'category': 'science'} |
1096 | 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} | 663 | 预期结果: {'msg': '院系不能为空', 'code': 500, 'data': None} |
1097 | 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} | 664 | 实际结果: {'msg': '院系不能为空', 'code': 500, 'data': None} |
1098 | test_add_specialty_02 (test_02_system_management.Test02Specialty)执行——>【通过】 | 665 | test_add_specialty_02 (test_02_system_management.Test02Specialty)执行——>【通过】 |
@@ -1103,13 +670,13 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> | @@ -1103,13 +670,13 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> | ||
1103 | </tr> | 670 | </tr> |
1104 | 671 | ||
1105 | <tr> | 672 | <tr> |
1106 | - <td>16</td> | 673 | + <td>15</td> |
1107 | <td class="Test02Specialty">Test02Specialty</td> | 674 | <td class="Test02Specialty">Test02Specialty</td> |
1108 | <td>test_add_specialty_03</td> | 675 | <td>test_add_specialty_03</td> |
1109 | <td>新增专业失败,院系不存在</td> | 676 | <td>新增专业失败,院系不存在</td> |
1110 | - <td>0.938s</td> | 677 | + <td>1.03s</td> |
1111 | 678 | ||
1112 | - <td class="text-warning">失败</td> | 679 | + <td class="text-success">成功</td> |
1113 | 680 | ||
1114 | <td> | 681 | <td> |
1115 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 682 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1121,61 +688,10 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> | @@ -1121,61 +688,10 @@ test_add_specialty_02 (test_02_system_management.Test02Specialty)銵> | ||
1121 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 688 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1122 | 689 | ||
1123 | 690 | ||
1124 | - <pre>用例入参:{'name': 'py专业23:09:15_3', 'code': 'py_code23:09:15_3', 'departmentId': '1605943544424820738', 'category': 'science'} | 691 | + <pre>用例入参:{'name': 'py专业20:30:43_3', 'code': 'py_code20:30:43_3', 'departmentId': '23232333333', 'category': 'science'} |
1125 | 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} | 692 | 预期结果: {'msg': '院系不存在', 'code': 500, 'data': None} |
1126 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1127 | -test_add_specialty_03 (test_02_system_management.Test02Specialty)执行——>【失败】 | ||
1128 | -</pre> | ||
1129 | - | ||
1130 | - | ||
1131 | - <pre>Traceback (most recent call last): | ||
1132 | -</pre> | ||
1133 | - | ||
1134 | - | ||
1135 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1136 | - yield | ||
1137 | -</pre> | ||
1138 | - | ||
1139 | - | ||
1140 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1141 | - testMethod() | ||
1142 | -</pre> | ||
1143 | - | ||
1144 | - | ||
1145 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1146 | - return func(self, *args, **kwargs) | ||
1147 | -</pre> | ||
1148 | - | ||
1149 | - | ||
1150 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | ||
1151 | - raise e | ||
1152 | -</pre> | ||
1153 | - | ||
1154 | - | ||
1155 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | ||
1156 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1157 | -</pre> | ||
1158 | - | ||
1159 | - | ||
1160 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1161 | - assertion_func(first, second, msg=msg) | ||
1162 | -</pre> | ||
1163 | - | ||
1164 | - | ||
1165 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1166 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1167 | -</pre> | ||
1168 | - | ||
1169 | - | ||
1170 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1171 | - raise self.failureException(msg) | ||
1172 | -</pre> | ||
1173 | - | ||
1174 | - | ||
1175 | - <pre>AssertionError: '院系不存在' != 'success' | ||
1176 | -- 院系不存在 | ||
1177 | -+ success | ||
1178 | - | 693 | +实际结果: {'msg': '院系不存在', 'code': 500, 'data': None} |
694 | +test_add_specialty_03 (test_02_system_management.Test02Specialty)执行——>【通过】 | ||
1179 | </pre> | 695 | </pre> |
1180 | 696 | ||
1181 | 697 | ||
@@ -1183,13 +699,13 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> | @@ -1183,13 +699,13 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> | ||
1183 | </tr> | 699 | </tr> |
1184 | 700 | ||
1185 | <tr> | 701 | <tr> |
1186 | - <td>17</td> | 702 | + <td>16</td> |
1187 | <td class="Test02Specialty">Test02Specialty</td> | 703 | <td class="Test02Specialty">Test02Specialty</td> |
1188 | <td>test_add_specialty_04</td> | 704 | <td>test_add_specialty_04</td> |
1189 | <td>新增专业失败,专业名称未填写</td> | 705 | <td>新增专业失败,专业名称未填写</td> |
1190 | - <td>0.867s</td> | 706 | + <td>1.02s</td> |
1191 | 707 | ||
1192 | - <td class="text-warning">失败</td> | 708 | + <td class="text-success">成功</td> |
1193 | 709 | ||
1194 | <td> | 710 | <td> |
1195 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 711 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1201,61 +717,10 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> | @@ -1201,61 +717,10 @@ test_add_specialty_03 (test_02_system_management.Test02Specialty)銵> | ||
1201 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 717 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1202 | 718 | ||
1203 | 719 | ||
1204 | - <pre>用例入参:{'name': '', 'code': 'py_code23:09:16_4', 'departmentId': '1605943544424820738', 'category': 'science'} | ||
1205 | -预期结果: {'msg': '专业名称未填写', 'code': 500, 'data': None} | ||
1206 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
1207 | -test_add_specialty_04 (test_02_system_management.Test02Specialty)执行——>【失败】 | ||
1208 | -</pre> | ||
1209 | - | ||
1210 | - | ||
1211 | - <pre>Traceback (most recent call last): | ||
1212 | -</pre> | ||
1213 | - | ||
1214 | - | ||
1215 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1216 | - yield | ||
1217 | -</pre> | ||
1218 | - | ||
1219 | - | ||
1220 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1221 | - testMethod() | ||
1222 | -</pre> | ||
1223 | - | ||
1224 | - | ||
1225 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1226 | - return func(self, *args, **kwargs) | ||
1227 | -</pre> | ||
1228 | - | ||
1229 | - | ||
1230 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | ||
1231 | - raise e | ||
1232 | -</pre> | ||
1233 | - | ||
1234 | - | ||
1235 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | ||
1236 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1237 | -</pre> | ||
1238 | - | ||
1239 | - | ||
1240 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1241 | - assertion_func(first, second, msg=msg) | ||
1242 | -</pre> | ||
1243 | - | ||
1244 | - | ||
1245 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1246 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1247 | -</pre> | ||
1248 | - | ||
1249 | - | ||
1250 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1251 | - raise self.failureException(msg) | ||
1252 | -</pre> | ||
1253 | - | ||
1254 | - | ||
1255 | - <pre>AssertionError: '专业名称未填写' != 'size must be between 1 and 30' | ||
1256 | -- 专业名称未填写 | ||
1257 | -+ size must be between 1 and 30 | ||
1258 | - | 720 | + <pre>用例入参:{'name': '', 'code': 'py_code20:30:44_4', 'departmentId': '1606628416684421122', 'category': 'science'} |
721 | +预期结果: {'msg': '专业名称不能为空', 'code': 500, 'data': None} | ||
722 | +实际结果: {'msg': '专业名称不能为空', 'code': 500, 'data': None} | ||
723 | +test_add_specialty_04 (test_02_system_management.Test02Specialty)执行——>【通过】 | ||
1259 | </pre> | 724 | </pre> |
1260 | 725 | ||
1261 | 726 | ||
@@ -1263,13 +728,13 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> | @@ -1263,13 +728,13 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> | ||
1263 | </tr> | 728 | </tr> |
1264 | 729 | ||
1265 | <tr> | 730 | <tr> |
1266 | - <td>18</td> | 731 | + <td>17</td> |
1267 | <td class="Test02Specialty">Test02Specialty</td> | 732 | <td class="Test02Specialty">Test02Specialty</td> |
1268 | <td>test_add_specialty_05</td> | 733 | <td>test_add_specialty_05</td> |
1269 | <td>新增专业失败,专业名称长度不能大于30</td> | 734 | <td>新增专业失败,专业名称长度不能大于30</td> |
1270 | - <td>0.871s</td> | 735 | + <td>1.06s</td> |
1271 | 736 | ||
1272 | - <td class="text-warning">失败</td> | 737 | + <td class="text-success">成功</td> |
1273 | 738 | ||
1274 | <td> | 739 | <td> |
1275 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 740 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1281,61 +746,10 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> | @@ -1281,61 +746,10 @@ test_add_specialty_04 (test_02_system_management.Test02Specialty)銵> | ||
1281 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 746 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1282 | 747 | ||
1283 | 748 | ||
1284 | - <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code23:09:17_5', 'departmentId': '1605943544424820738', 'category': 'science'} | ||
1285 | -预期结果: {'msg': '专业名称不能大于30', 'code': 500, 'data': None} | ||
1286 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
1287 | -test_add_specialty_05 (test_02_system_management.Test02Specialty)执行——>【失败】 | ||
1288 | -</pre> | ||
1289 | - | ||
1290 | - | ||
1291 | - <pre>Traceback (most recent call last): | ||
1292 | -</pre> | ||
1293 | - | ||
1294 | - | ||
1295 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1296 | - yield | ||
1297 | -</pre> | ||
1298 | - | ||
1299 | - | ||
1300 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1301 | - testMethod() | ||
1302 | -</pre> | ||
1303 | - | ||
1304 | - | ||
1305 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1306 | - return func(self, *args, **kwargs) | ||
1307 | -</pre> | ||
1308 | - | ||
1309 | - | ||
1310 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | ||
1311 | - raise e | ||
1312 | -</pre> | ||
1313 | - | ||
1314 | - | ||
1315 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | ||
1316 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1317 | -</pre> | ||
1318 | - | ||
1319 | - | ||
1320 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1321 | - assertion_func(first, second, msg=msg) | ||
1322 | -</pre> | ||
1323 | - | ||
1324 | - | ||
1325 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1326 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1327 | -</pre> | ||
1328 | - | ||
1329 | - | ||
1330 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1331 | - raise self.failureException(msg) | ||
1332 | -</pre> | ||
1333 | - | ||
1334 | - | ||
1335 | - <pre>AssertionError: '专业名称不能大于30' != 'size must be between 1 and 30' | ||
1336 | -- 专业名称不能大于30 | ||
1337 | -+ size must be between 1 and 30 | ||
1338 | - | 749 | + <pre>用例入参:{'name': '专业大于301234567890专业大于301234567890', 'code': 'py_code20:30:45_5', 'departmentId': '1606628416684421122', 'category': 'science'} |
750 | +预期结果: {'msg': '专业名称长度不能大于30', 'code': 500, 'data': None} | ||
751 | +实际结果: {'msg': '专业名称长度不能大于30', 'code': 500, 'data': None} | ||
752 | +test_add_specialty_05 (test_02_system_management.Test02Specialty)执行——>【通过】 | ||
1339 | </pre> | 753 | </pre> |
1340 | 754 | ||
1341 | 755 | ||
@@ -1343,11 +757,11 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> | @@ -1343,11 +757,11 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> | ||
1343 | </tr> | 757 | </tr> |
1344 | 758 | ||
1345 | <tr> | 759 | <tr> |
1346 | - <td>19</td> | 760 | + <td>18</td> |
1347 | <td class="Test02Specialty">Test02Specialty</td> | 761 | <td class="Test02Specialty">Test02Specialty</td> |
1348 | <td>test_add_specialty_06</td> | 762 | <td>test_add_specialty_06</td> |
1349 | <td>新增专业失败,专业名称重复</td> | 763 | <td>新增专业失败,专业名称重复</td> |
1350 | - <td>1.02s</td> | 764 | + <td>0.959s</td> |
1351 | 765 | ||
1352 | <td class="text-success">成功</td> | 766 | <td class="text-success">成功</td> |
1353 | 767 | ||
@@ -1361,7 +775,7 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> | @@ -1361,7 +775,7 @@ test_add_specialty_05 (test_02_system_management.Test02Specialty)銵> | ||
1361 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 775 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1362 | 776 | ||
1363 | 777 | ||
1364 | - <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code23:09:18_6', 'departmentId': '1605943544424820738', 'category': 'science'} | 778 | + <pre>用例入参:{'name': '第二个专业-2-1', 'code': 'py_code20:30:46_6', 'departmentId': '1606628416684421122', 'category': 'science'} |
1365 | 预期结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} | 779 | 预期结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} |
1366 | 实际结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} | 780 | 实际结果: {'msg': '专业名称已存在,请确认', 'code': 500, 'data': None} |
1367 | test_add_specialty_06 (test_02_system_management.Test02Specialty)执行——>【通过】 | 781 | test_add_specialty_06 (test_02_system_management.Test02Specialty)执行——>【通过】 |
@@ -1372,13 +786,13 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> | @@ -1372,13 +786,13 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> | ||
1372 | </tr> | 786 | </tr> |
1373 | 787 | ||
1374 | <tr> | 788 | <tr> |
1375 | - <td>20</td> | 789 | + <td>19</td> |
1376 | <td class="Test02Specialty">Test02Specialty</td> | 790 | <td class="Test02Specialty">Test02Specialty</td> |
1377 | <td>test_add_specialty_07</td> | 791 | <td>test_add_specialty_07</td> |
1378 | <td>新增专业失败,专业代码未填写</td> | 792 | <td>新增专业失败,专业代码未填写</td> |
1379 | - <td>0.891s</td> | 793 | + <td>0.959s</td> |
1380 | 794 | ||
1381 | - <td class="text-warning">失败</td> | 795 | + <td class="text-success">成功</td> |
1382 | 796 | ||
1383 | <td> | 797 | <td> |
1384 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 798 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1390,61 +804,10 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> | @@ -1390,61 +804,10 @@ test_add_specialty_06 (test_02_system_management.Test02Specialty)銵> | ||
1390 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 804 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1391 | 805 | ||
1392 | 806 | ||
1393 | - <pre>用例入参:{'name': 'py专业23:09:19_7', 'code': '', 'departmentId': '1605943544424820738', 'category': 'science'} | 807 | + <pre>用例入参:{'name': 'py专业20:30:47_7', 'code': '', 'departmentId': '1606628416684421122', 'category': 'science'} |
1394 | 预期结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} | 808 | 预期结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} |
1395 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
1396 | -test_add_specialty_07 (test_02_system_management.Test02Specialty)执行——>【失败】 | ||
1397 | -</pre> | ||
1398 | - | ||
1399 | - | ||
1400 | - <pre>Traceback (most recent call last): | ||
1401 | -</pre> | ||
1402 | - | ||
1403 | - | ||
1404 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1405 | - yield | ||
1406 | -</pre> | ||
1407 | - | ||
1408 | - | ||
1409 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1410 | - testMethod() | ||
1411 | -</pre> | ||
1412 | - | ||
1413 | - | ||
1414 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1415 | - return func(self, *args, **kwargs) | ||
1416 | -</pre> | ||
1417 | - | ||
1418 | - | ||
1419 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | ||
1420 | - raise e | ||
1421 | -</pre> | ||
1422 | - | ||
1423 | - | ||
1424 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | ||
1425 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1426 | -</pre> | ||
1427 | - | ||
1428 | - | ||
1429 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1430 | - assertion_func(first, second, msg=msg) | ||
1431 | -</pre> | ||
1432 | - | ||
1433 | - | ||
1434 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1435 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1436 | -</pre> | ||
1437 | - | ||
1438 | - | ||
1439 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1440 | - raise self.failureException(msg) | ||
1441 | -</pre> | ||
1442 | - | ||
1443 | - | ||
1444 | - <pre>AssertionError: '专业代码不能为空' != 'size must be between 1 and 30' | ||
1445 | -- 专业代码不能为空 | ||
1446 | -+ size must be between 1 and 30 | ||
1447 | - | 809 | +实际结果: {'msg': '专业代码不能为空', 'code': 500, 'data': None} |
810 | +test_add_specialty_07 (test_02_system_management.Test02Specialty)执行——>【通过】 | ||
1448 | </pre> | 811 | </pre> |
1449 | 812 | ||
1450 | 813 | ||
@@ -1452,13 +815,13 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> | @@ -1452,13 +815,13 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> | ||
1452 | </tr> | 815 | </tr> |
1453 | 816 | ||
1454 | <tr> | 817 | <tr> |
1455 | - <td>21</td> | 818 | + <td>20</td> |
1456 | <td class="Test02Specialty">Test02Specialty</td> | 819 | <td class="Test02Specialty">Test02Specialty</td> |
1457 | <td>test_add_specialty_08</td> | 820 | <td>test_add_specialty_08</td> |
1458 | <td>新增专业失败,专业代码长度不能大于30</td> | 821 | <td>新增专业失败,专业代码长度不能大于30</td> |
1459 | - <td>0.933s</td> | 822 | + <td>0.918s</td> |
1460 | 823 | ||
1461 | - <td class="text-warning">失败</td> | 824 | + <td class="text-success">成功</td> |
1462 | 825 | ||
1463 | <td> | 826 | <td> |
1464 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 827 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1470,61 +833,10 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> | @@ -1470,61 +833,10 @@ test_add_specialty_07 (test_02_system_management.Test02Specialty)銵> | ||
1470 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 833 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1471 | 834 | ||
1472 | 835 | ||
1473 | - <pre>用例入参:{'name': 'py专业23:09:20_8', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1605943544424820738', 'category': 'science'} | ||
1474 | -预期结果: {'msg': '专业代码不能大于30', 'code': 500, 'data': None} | ||
1475 | -实际结果: {'msg': 'size must be between 1 and 30', 'code': 500, 'data': None} | ||
1476 | -test_add_specialty_08 (test_02_system_management.Test02Specialty)执行——>【失败】 | ||
1477 | -</pre> | ||
1478 | - | ||
1479 | - | ||
1480 | - <pre>Traceback (most recent call last): | ||
1481 | -</pre> | ||
1482 | - | ||
1483 | - | ||
1484 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1485 | - yield | ||
1486 | -</pre> | ||
1487 | - | ||
1488 | - | ||
1489 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1490 | - testMethod() | ||
1491 | -</pre> | ||
1492 | - | ||
1493 | - | ||
1494 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1495 | - return func(self, *args, **kwargs) | ||
1496 | -</pre> | ||
1497 | - | ||
1498 | - | ||
1499 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | ||
1500 | - raise e | ||
1501 | -</pre> | ||
1502 | - | ||
1503 | - | ||
1504 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | ||
1505 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1506 | -</pre> | ||
1507 | - | ||
1508 | - | ||
1509 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1510 | - assertion_func(first, second, msg=msg) | ||
1511 | -</pre> | ||
1512 | - | ||
1513 | - | ||
1514 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1515 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1516 | -</pre> | ||
1517 | - | ||
1518 | - | ||
1519 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1520 | - raise self.failureException(msg) | ||
1521 | -</pre> | ||
1522 | - | ||
1523 | - | ||
1524 | - <pre>AssertionError: '专业代码不能大于30' != 'size must be between 1 and 30' | ||
1525 | -- 专业代码不能大于30 | ||
1526 | -+ size must be between 1 and 30 | ||
1527 | - | 836 | + <pre>用例入参:{'name': 'py专业20:30:48_8', 'code': '专业代码大于301234567890专业大于301234567890', 'departmentId': '1606628416684421122', 'category': 'science'} |
837 | +预期结果: {'msg': '专业代码长度不能大于30', 'code': 500, 'data': None} | ||
838 | +实际结果: {'msg': '专业代码长度不能大于30', 'code': 500, 'data': None} | ||
839 | +test_add_specialty_08 (test_02_system_management.Test02Specialty)执行——>【通过】 | ||
1528 | </pre> | 840 | </pre> |
1529 | 841 | ||
1530 | 842 | ||
@@ -1532,13 +844,13 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> | @@ -1532,13 +844,13 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> | ||
1532 | </tr> | 844 | </tr> |
1533 | 845 | ||
1534 | <tr> | 846 | <tr> |
1535 | - <td>22</td> | 847 | + <td>21</td> |
1536 | <td class="Test02Specialty">Test02Specialty</td> | 848 | <td class="Test02Specialty">Test02Specialty</td> |
1537 | <td>test_add_specialty_09</td> | 849 | <td>test_add_specialty_09</td> |
1538 | <td>新增专业失败,学科门类未填写</td> | 850 | <td>新增专业失败,学科门类未填写</td> |
1539 | - <td>0.903s</td> | 851 | + <td>1.02s</td> |
1540 | 852 | ||
1541 | - <td class="text-warning">失败</td> | 853 | + <td class="text-success">成功</td> |
1542 | 854 | ||
1543 | <td> | 855 | <td> |
1544 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 856 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1550,61 +862,10 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> | @@ -1550,61 +862,10 @@ test_add_specialty_08 (test_02_system_management.Test02Specialty)銵> | ||
1550 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 862 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1551 | 863 | ||
1552 | 864 | ||
1553 | - <pre>用例入参:{'name': 'py专业23:09:20_9', 'code': 'py_code23:09:20_9', 'departmentId': '1605943544424820738', 'category': ''} | 865 | + <pre>用例入参:{'name': 'py专业20:30:49_9', 'code': 'py_code20:30:49_9', 'departmentId': '1606628416684421122', 'category': ''} |
1554 | 预期结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} | 866 | 预期结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} |
1555 | -实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} | ||
1556 | -test_add_specialty_09 (test_02_system_management.Test02Specialty)执行——>【失败】 | ||
1557 | -</pre> | ||
1558 | - | ||
1559 | - | ||
1560 | - <pre>Traceback (most recent call last): | ||
1561 | -</pre> | ||
1562 | - | ||
1563 | - | ||
1564 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1565 | - yield | ||
1566 | -</pre> | ||
1567 | - | ||
1568 | - | ||
1569 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1570 | - testMethod() | ||
1571 | -</pre> | ||
1572 | - | ||
1573 | - | ||
1574 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1575 | - return func(self, *args, **kwargs) | ||
1576 | -</pre> | ||
1577 | - | ||
1578 | - | ||
1579 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 207, in test_add_specialty | ||
1580 | - raise e | ||
1581 | -</pre> | ||
1582 | - | ||
1583 | - | ||
1584 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 201, in test_add_specialty | ||
1585 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1586 | -</pre> | ||
1587 | - | ||
1588 | - | ||
1589 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1590 | - assertion_func(first, second, msg=msg) | ||
1591 | -</pre> | ||
1592 | - | ||
1593 | - | ||
1594 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1595 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1596 | -</pre> | ||
1597 | - | ||
1598 | - | ||
1599 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1600 | - raise self.failureException(msg) | ||
1601 | -</pre> | ||
1602 | - | ||
1603 | - | ||
1604 | - <pre>AssertionError: '学科门类不能为空' != '学科门类不存在' | ||
1605 | -- 学科门类不能为空 | ||
1606 | -+ 学科门类不存在 | ||
1607 | - | 867 | +实际结果: {'msg': '学科门类不能为空', 'code': 500, 'data': None} |
868 | +test_add_specialty_09 (test_02_system_management.Test02Specialty)执行——>【通过】 | ||
1608 | </pre> | 869 | </pre> |
1609 | 870 | ||
1610 | 871 | ||
@@ -1612,11 +873,11 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> | @@ -1612,11 +873,11 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> | ||
1612 | </tr> | 873 | </tr> |
1613 | 874 | ||
1614 | <tr> | 875 | <tr> |
1615 | - <td>23</td> | 876 | + <td>22</td> |
1616 | <td class="Test02Specialty">Test02Specialty</td> | 877 | <td class="Test02Specialty">Test02Specialty</td> |
1617 | <td>test_add_specialty_10</td> | 878 | <td>test_add_specialty_10</td> |
1618 | <td>新增专业失败,学科门类填写错误</td> | 879 | <td>新增专业失败,学科门类填写错误</td> |
1619 | - <td>0.928s</td> | 880 | + <td>0.996s</td> |
1620 | 881 | ||
1621 | <td class="text-success">成功</td> | 882 | <td class="text-success">成功</td> |
1622 | 883 | ||
@@ -1630,7 +891,7 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> | @@ -1630,7 +891,7 @@ test_add_specialty_09 (test_02_system_management.Test02Specialty)銵> | ||
1630 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 891 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1631 | 892 | ||
1632 | 893 | ||
1633 | - <pre>用例入参:{'name': 'py专业23:09:21_10', 'code': 'py_code23:09:21_10', 'departmentId': '1605943544424820738', 'category': 'scienwce'} | 894 | + <pre>用例入参:{'name': 'py专业20:30:50_10', 'code': 'py_code20:30:50_10', 'departmentId': '1606628416684421122', 'category': 'scienwce'} |
1634 | 预期结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} | 895 | 预期结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} |
1635 | 实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} | 896 | 实际结果: {'msg': '学科门类不存在', 'code': 500, 'data': None} |
1636 | test_add_specialty_10 (test_02_system_management.Test02Specialty)执行——>【通过】 | 897 | test_add_specialty_10 (test_02_system_management.Test02Specialty)执行——>【通过】 |
@@ -1641,11 +902,11 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> | @@ -1641,11 +902,11 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> | ||
1641 | </tr> | 902 | </tr> |
1642 | 903 | ||
1643 | <tr> | 904 | <tr> |
1644 | - <td>24</td> | 905 | + <td>23</td> |
1645 | <td class="Test03Year">Test03Year</td> | 906 | <td class="Test03Year">Test03Year</td> |
1646 | <td>test_add_year_1</td> | 907 | <td>test_add_year_1</td> |
1647 | <td>新增学年学期成功</td> | 908 | <td>新增学年学期成功</td> |
1648 | - <td>0.288s</td> | 909 | + <td>0.325s</td> |
1649 | 910 | ||
1650 | <td class="text-success">成功</td> | 911 | <td class="text-success">成功</td> |
1651 | 912 | ||
@@ -1659,7 +920,7 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> | @@ -1659,7 +920,7 @@ test_add_specialty_10 (test_02_system_management.Test02Specialty)銵> | ||
1659 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 920 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1660 | 921 | ||
1661 | 922 | ||
1662 | - <pre>用例入参:{'year': 'py学年23:09:23_1', 'remark': 'py_comment备注23:09:23_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | 923 | + <pre>用例入参:{'year': 'py学年20:30:51_1', 'remark': 'py_comment备注20:30:51_1', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} |
1663 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} | 924 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1664 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} | 925 | 实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1665 | test_add_year_1 (test_02_system_management.Test03Year)执行——>【通过】 | 926 | test_add_year_1 (test_02_system_management.Test03Year)执行——>【通过】 |
@@ -1670,13 +931,13 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> | @@ -1670,13 +931,13 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> | ||
1670 | </tr> | 931 | </tr> |
1671 | 932 | ||
1672 | <tr> | 933 | <tr> |
1673 | - <td>25</td> | 934 | + <td>24</td> |
1674 | <td class="Test03Year">Test03Year</td> | 935 | <td class="Test03Year">Test03Year</td> |
1675 | <td>test_add_year_2</td> | 936 | <td>test_add_year_2</td> |
1676 | <td>学年学期开始时间和结束时间不可交叉</td> | 937 | <td>学年学期开始时间和结束时间不可交叉</td> |
1677 | - <td>0.231s</td> | 938 | + <td>0.306s</td> |
1678 | 939 | ||
1679 | - <td class="text-warning">失败</td> | 940 | + <td class="text-success">成功</td> |
1680 | 941 | ||
1681 | <td> | 942 | <td> |
1682 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 943 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1688,61 +949,126 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> | @@ -1688,61 +949,126 @@ test_add_year_1 (test_02_system_management.Test03Year)銵> | ||
1688 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 949 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1689 | 950 | ||
1690 | 951 | ||
1691 | - <pre>用例入参:{'year': 'py学年23:09:23_2', 'remark': 'py_comment备注23:09:23_2', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}, {'sort': 2, 'startTime': 1667376499000, 'endTime': 1704115459000}]} | 952 | + <pre>用例入参:{'year': 'py学年20:30:51_2', 'remark': 'py_comment备注20:30:51_2', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}, {'sort': 2, 'startTime': 1667376499000, 'endTime': 1704115459000}]} |
1692 | 预期结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} | 953 | 预期结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} |
1693 | -实际结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1694 | -test_add_year_2 (test_02_system_management.Test03Year)执行——>【失败】 | 954 | +实际结果: {'msg': '学期起止时间不能交叉', 'code': 500, 'data': None} |
955 | +test_add_year_2 (test_02_system_management.Test03Year)执行——>【通过】 | ||
1695 | </pre> | 956 | </pre> |
1696 | 957 | ||
1697 | - | ||
1698 | - <pre>Traceback (most recent call last): | ||
1699 | -</pre> | ||
1700 | 958 | ||
959 | + </td> | ||
960 | + </tr> | ||
961 | + | ||
962 | + <tr> | ||
963 | + <td>25</td> | ||
964 | + <td class="Test03Year">Test03Year</td> | ||
965 | + <td>test_add_year_3</td> | ||
966 | + <td>学年未填写</td> | ||
967 | + <td>0.283s</td> | ||
968 | + | ||
969 | + <td class="text-success">成功</td> | ||
970 | + | ||
971 | + <td> | ||
972 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
973 | + </td> | ||
974 | + </tr> | ||
1701 | 975 | ||
1702 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1703 | - yield | ||
1704 | -</pre> | ||
1705 | - | 976 | + <tr class="test_log"> |
1706 | 977 | ||
1707 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1708 | - testMethod() | ||
1709 | -</pre> | 978 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1710 | 979 | ||
1711 | 980 | ||
1712 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1713 | - return func(self, *args, **kwargs) | 981 | + <pre>用例入参:{'year': '', 'remark': 'py_comment备注20:30:52_3', 'terms': [{'sort': 1, 'startTime': 1667376499000, 'endTime': 1704115459000}]} |
982 | +预期结果: {'msg': '学年不能为空', 'code': 500, 'data': None} | ||
983 | +实际结果: {'msg': '学年不能为空', 'code': 500, 'data': None} | ||
984 | +test_add_year_3 (test_02_system_management.Test03Year)执行——>【通过】 | ||
1714 | </pre> | 985 | </pre> |
1715 | 986 | ||
1716 | - | ||
1717 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 272, in test_add_year | ||
1718 | - raise e | ||
1719 | -</pre> | ||
1720 | 987 | ||
988 | + </td> | ||
989 | + </tr> | ||
990 | + | ||
991 | + <tr> | ||
992 | + <td>26</td> | ||
993 | + <td class="Test03Year">Test03Year</td> | ||
994 | + <td>test_add_year_4</td> | ||
995 | + <td>学期未填写</td> | ||
996 | + <td>0.323s</td> | ||
997 | + | ||
998 | + <td class="text-success">成功</td> | ||
999 | + | ||
1000 | + <td> | ||
1001 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1002 | + </td> | ||
1003 | + </tr> | ||
1721 | 1004 | ||
1722 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_02_system_management.py", line 266, in test_add_year | ||
1723 | - self.assertEqual(expected["msg"], res["msg"]) | ||
1724 | -</pre> | 1005 | + <tr class="test_log"> |
1006 | + | ||
1007 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1725 | 1008 | ||
1726 | 1009 | ||
1727 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1728 | - assertion_func(first, second, msg=msg) | 1010 | + <pre>用例入参:{'year': 'py学年20:30:52_4', 'remark': 'py_comment备注20:30:52_4', 'terms': [{'sort': '', 'startTime': 1667376499000, 'endTime': 1704115459000}]} |
1011 | +预期结果: {'msg': '学期排序不能为空', 'code': 500, 'data': None} | ||
1012 | +实际结果: {'msg': '学期排序不能为空', 'code': 500, 'data': None} | ||
1013 | +test_add_year_4 (test_02_system_management.Test03Year)执行——>【通过】 | ||
1729 | </pre> | 1014 | </pre> |
1730 | 1015 | ||
1016 | + | ||
1017 | + </td> | ||
1018 | + </tr> | ||
1019 | + | ||
1020 | + <tr> | ||
1021 | + <td>27</td> | ||
1022 | + <td class="Test03Year">Test03Year</td> | ||
1023 | + <td>test_add_year_5</td> | ||
1024 | + <td>学期开始时间未填写</td> | ||
1025 | + <td>0.294s</td> | ||
1026 | + | ||
1027 | + <td class="text-success">成功</td> | ||
1028 | + | ||
1029 | + <td> | ||
1030 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1031 | + </td> | ||
1032 | + </tr> | ||
1731 | 1033 | ||
1732 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1733 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1734 | -</pre> | 1034 | + <tr class="test_log"> |
1035 | + | ||
1036 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1735 | 1037 | ||
1736 | 1038 | ||
1737 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1738 | - raise self.failureException(msg) | 1039 | + <pre>用例入参:{'year': 'py学年20:30:52_5', 'remark': 'py_comment备注20:30:52_5', 'terms': [{'sort': 1, 'startTime': '', 'endTime': 1704115459000}]} |
1040 | +预期结果: {'msg': '学期开始时间不能为空', 'code': 500, 'data': None} | ||
1041 | +实际结果: {'msg': '学期开始时间不能为空', 'code': 500, 'data': None} | ||
1042 | +test_add_year_5 (test_02_system_management.Test03Year)执行——>【通过】 | ||
1739 | </pre> | 1043 | </pre> |
1740 | 1044 | ||
1045 | + | ||
1046 | + </td> | ||
1047 | + </tr> | ||
1048 | + | ||
1049 | + <tr> | ||
1050 | + <td>28</td> | ||
1051 | + <td class="Test03Year">Test03Year</td> | ||
1052 | + <td>test_add_year_6</td> | ||
1053 | + <td>学期结束时间未填写</td> | ||
1054 | + <td>0.289s</td> | ||
1055 | + | ||
1056 | + <td class="text-success">成功</td> | ||
1057 | + | ||
1058 | + <td> | ||
1059 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1060 | + </td> | ||
1061 | + </tr> | ||
1741 | 1062 | ||
1742 | - <pre>AssertionError: '学期起止时间不能交叉' != 'success' | ||
1743 | -- 学期起止时间不能交叉 | ||
1744 | -+ success | 1063 | + <tr class="test_log"> |
1064 | + | ||
1065 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1066 | + | ||
1745 | 1067 | ||
1068 | + <pre>用例入参:{'year': 'py学年20:30:53_6', 'remark': 'py_comment备注20:30:53_6', 'terms': [{'sort': 1, 'startTime': 1704115459000, 'endTime': ''}]} | ||
1069 | +预期结果: {'msg': '学期结束时间不能为空', 'code': 500, 'data': None} | ||
1070 | +实际结果: {'msg': '学期结束时间不能为空', 'code': 500, 'data': None} | ||
1071 | +test_add_year_6 (test_02_system_management.Test03Year)执行——>【通过】 | ||
1746 | </pre> | 1072 | </pre> |
1747 | 1073 | ||
1748 | 1074 | ||
@@ -1750,13 +1076,13 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 | @@ -1750,13 +1076,13 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 | ||
1750 | </tr> | 1076 | </tr> |
1751 | 1077 | ||
1752 | <tr> | 1078 | <tr> |
1753 | - <td>26</td> | 1079 | + <td>29</td> |
1754 | <td class="Test01CTeacher">Test01CTeacher</td> | 1080 | <td class="Test01CTeacher">Test01CTeacher</td> |
1755 | - <td>test_add_class_info_1</td> | 1081 | + <td>test_add_teacher_info_1</td> |
1756 | <td>新增教师</td> | 1082 | <td>新增教师</td> |
1757 | - <td>0.239s</td> | 1083 | + <td>0.543s</td> |
1758 | 1084 | ||
1759 | - <td class="text-warning">失败</td> | 1085 | + <td class="text-success">成功</td> |
1760 | 1086 | ||
1761 | <td> | 1087 | <td> |
1762 | <button type="button" class="btn btn-success btn_info">查看详情</button> | 1088 | <button type="button" class="btn btn-success btn_info">查看详情</button> |
@@ -1768,61 +1094,126 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 | @@ -1768,61 +1094,126 @@ test_add_year_2 (test_02_system_management.Test03Year)銵>仃韐乓 | ||
1768 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | 1094 | <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1769 | 1095 | ||
1770 | 1096 | ||
1771 | - <pre>用例入参:{'name': 'py自动化教师20221222_23:09:24_1', 'number': '17398240152', 'departmentIds': ['1605942164523970561'], 'phone': '17398240152', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '660101198601061863', 'gender': 0, 'entryTime': 1663084800000, 'email': '34662811782@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1605942164523970561'} | 1097 | + <pre>用例入参:{'name': 'py自动化教师20221224_20:30:54_1', 'number': '13366742080', 'departmentIds': ['1606628416684421122'], 'phone': '13366742080', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '110101198208191584', 'gender': 0, 'entryTime': 1663084800000, 'email': '57370113422@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1606628416684421122'} |
1772 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} | 1098 | 预期结果: {'msg': 'success', 'code': 200, 'data': True} |
1773 | -实际结果: {'msg': '该身份证号不合法,请确认', 'code': 500, 'data': None} | ||
1774 | -test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)执行——>【失败】 | 1099 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} |
1100 | +test_add_teacher_info_1 (test_03_teaching_affairs.Test01CTeacher)执行——>【通过】 | ||
1775 | </pre> | 1101 | </pre> |
1776 | 1102 | ||
1777 | - | ||
1778 | - <pre>Traceback (most recent call last): | ||
1779 | -</pre> | ||
1780 | 1103 | ||
1104 | + </td> | ||
1105 | + </tr> | ||
1106 | + | ||
1107 | + <tr> | ||
1108 | + <td>30</td> | ||
1109 | + <td class="Test01CTeacher">Test01CTeacher</td> | ||
1110 | + <td>test_add_teacher_info_2</td> | ||
1111 | + <td>教师姓名不能为空</td> | ||
1112 | + <td>0.28s</td> | ||
1113 | + | ||
1114 | + <td class="text-success">成功</td> | ||
1115 | + | ||
1116 | + <td> | ||
1117 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1118 | + </td> | ||
1119 | + </tr> | ||
1781 | 1120 | ||
1782 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor | ||
1783 | - yield | ||
1784 | -</pre> | ||
1785 | - | 1121 | + <tr class="test_log"> |
1786 | 1122 | ||
1787 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 615, in run | ||
1788 | - testMethod() | ||
1789 | -</pre> | 1123 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> |
1790 | 1124 | ||
1791 | 1125 | ||
1792 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/common/myddt.py", line 145, in wrapper | ||
1793 | - return func(self, *args, **kwargs) | 1126 | + <pre>用例入参:{'name': '', 'number': '17320079916', 'departmentIds': ['1606628416684421122'], 'phone': '17320079916', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '620101194711091179', 'gender': 0, 'entryTime': 1663084800000, 'email': '19769147857@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1606628416684421122'} |
1127 | +预期结果: {'msg': '教师姓名不能为空', 'code': 500, 'data': None} | ||
1128 | +实际结果: {'msg': '教师姓名不能为空', 'code': 500, 'data': None} | ||
1129 | +test_add_teacher_info_2 (test_03_teaching_affairs.Test01CTeacher)执行——>【通过】 | ||
1794 | </pre> | 1130 | </pre> |
1795 | 1131 | ||
1796 | - | ||
1797 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_03_teaching_affairs.py", line 106, in test_add_class_info | ||
1798 | - raise e | ||
1799 | -</pre> | ||
1800 | 1132 | ||
1133 | + </td> | ||
1134 | + </tr> | ||
1135 | + | ||
1136 | + <tr> | ||
1137 | + <td>31</td> | ||
1138 | + <td class="Test01CTeacher">Test01CTeacher</td> | ||
1139 | + <td>test_add_teacher_info_3</td> | ||
1140 | + <td>教师手机号不能为空</td> | ||
1141 | + <td>0.299s</td> | ||
1142 | + | ||
1143 | + <td class="text-success">成功</td> | ||
1144 | + | ||
1145 | + <td> | ||
1146 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1147 | + </td> | ||
1148 | + </tr> | ||
1801 | 1149 | ||
1802 | - <pre> File "/Users/shitou/工作/code/work/workAi/yxly/testcase/test_03_teaching_affairs.py", line 99, in test_add_class_info | ||
1803 | - self.assertEqual(expected['msg'], res['msg']) | ||
1804 | -</pre> | 1150 | + <tr class="test_log"> |
1151 | + | ||
1152 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1805 | 1153 | ||
1806 | 1154 | ||
1807 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 839, in assertEqual | ||
1808 | - assertion_func(first, second, msg=msg) | 1155 | + <pre>用例入参:{'name': 'py自动化教师20221224_20:30:55_3', 'number': '', 'departmentIds': ['1606628416684421122'], 'phone': '', 'classInfoId': '', 'idType': 'identity_card', 'idNumber': '500101194009260414', 'gender': 0, 'entryTime': 1663084800000, 'email': '86463050788@163.com', 'professionalIds': [], 'roleIds': ['968160378070540291'], 'permissionScope': '1606628416684421122'} |
1156 | +预期结果: {'msg': '教师手机号不能为空', 'code': 500, 'data': None} | ||
1157 | +实际结果: {'msg': '教师手机号不能为空', 'code': 500, 'data': None} | ||
1158 | +test_add_teacher_info_3 (test_03_teaching_affairs.Test01CTeacher)执行——>【通过】 | ||
1809 | </pre> | 1159 | </pre> |
1810 | 1160 | ||
1161 | + | ||
1162 | + </td> | ||
1163 | + </tr> | ||
1164 | + | ||
1165 | + <tr> | ||
1166 | + <td>32</td> | ||
1167 | + <td class="Test02Class">Test02Class</td> | ||
1168 | + <td>test_add_class_info_1</td> | ||
1169 | + <td>新增班级</td> | ||
1170 | + <td>0.33s</td> | ||
1171 | + | ||
1172 | + <td class="text-success">成功</td> | ||
1173 | + | ||
1174 | + <td> | ||
1175 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1176 | + </td> | ||
1177 | + </tr> | ||
1811 | 1178 | ||
1812 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 1220, in assertMultiLineEqual | ||
1813 | - self.fail(self._formatMessage(msg, standardMsg)) | ||
1814 | -</pre> | 1179 | + <tr class="test_log"> |
1180 | + | ||
1181 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1815 | 1182 | ||
1816 | 1183 | ||
1817 | - <pre> File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 680, in fail | ||
1818 | - raise self.failureException(msg) | 1184 | + <pre>用例入参:{'name': 'py自动化班级20221224_20:30:58_1', 'educationalSystem': '3', 'startSchoolYear': 2022, 'professionalId': '1606628430462709762', 'teacherId': '1606628483533238273', 'departmentId': '1606628416684421122'} |
1185 | +预期结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1186 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1187 | +test_add_class_info_1 (test_03_teaching_affairs.Test02Class)执行——>【通过】 | ||
1819 | </pre> | 1188 | </pre> |
1820 | 1189 | ||
1190 | + | ||
1191 | + </td> | ||
1192 | + </tr> | ||
1193 | + | ||
1194 | + <tr> | ||
1195 | + <td>33</td> | ||
1196 | + <td class="Test03Course">Test03Course</td> | ||
1197 | + <td>test_add_course_info_1</td> | ||
1198 | + <td>新增课程</td> | ||
1199 | + <td>0.352s</td> | ||
1200 | + | ||
1201 | + <td class="text-success">成功</td> | ||
1202 | + | ||
1203 | + <td> | ||
1204 | + <button type="button" class="btn btn-success btn_info">查看详情</button> | ||
1205 | + </td> | ||
1206 | + </tr> | ||
1821 | 1207 | ||
1822 | - <pre>AssertionError: 'success' != '该身份证号不合法,请确认' | ||
1823 | -- success | ||
1824 | -+ 该身份证号不合法,请确认 | 1208 | + <tr class="test_log"> |
1209 | + | ||
1210 | + <td colspan="7" class="small text-muted" style=" word-wrap:break-word; word-break:break-all"> | ||
1211 | + | ||
1825 | 1212 | ||
1213 | + <pre>用例入参:{'name': 'py自动化课程20221224_20:31:01_1', 'practiceType': 'know', 'departmentId': '1606628416684421122', 'credit': 3, 'property': 'elective', 'creditHour': '5', 'termIds': ['1606628470845468674'], 'professionalIds': ['1606628430462709762'], 'yearId': '49'} | ||
1214 | +预期结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1215 | +实际结果: {'msg': 'success', 'code': 200, 'data': True} | ||
1216 | +test_add_course_info_1 (test_03_teaching_affairs.Test03Course)执行——>【通过】 | ||
1826 | </pre> | 1217 | </pre> |
1827 | 1218 | ||
1828 | 1219 | ||
@@ -1954,8 +1345,8 @@ test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)銵> | @@ -1954,8 +1345,8 @@ test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)銵> | ||
1954 | show: false | 1345 | show: false |
1955 | }, | 1346 | }, |
1956 | data: [ | 1347 | data: [ |
1957 | - {value: 10, name: '通过'}, | ||
1958 | - {value: 16, name: '失败'}, | 1348 | + {value: 33, name: '通过'}, |
1349 | + {value: 0, name: '失败'}, | ||
1959 | {value: 0, name: '错误'}, | 1350 | {value: 0, name: '错误'}, |
1960 | {value: 0, name: '跳过'} | 1351 | {value: 0, name: '跳过'} |
1961 | ] | 1352 | ] |
@@ -1976,8 +1367,8 @@ test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)銵> | @@ -1976,8 +1367,8 @@ test_add_class_info_1 (test_03_teaching_affairs.Test01CTeacher)銵> | ||
1976 | { | 1367 | { |
1977 | name: '测试结果', | 1368 | name: '测试结果', |
1978 | type: 'gauge', | 1369 | type: 'gauge', |
1979 | - detail: {formatter: '38.46%'}, | ||
1980 | - data: [{value: '38.46', name: '用例通过率'}], | 1370 | + detail: {formatter: '100.00%'}, |
1371 | + data: [{value: '100.00', name: '用例通过率'}], | ||
1981 | axisLine: { | 1372 | axisLine: { |
1982 | lineStyle: { | 1373 | lineStyle: { |
1983 | color: [ | 1374 | color: [ |
@@ -40,5 +40,6 @@ runner.run() | @@ -40,5 +40,6 @@ runner.run() | ||
40 | # port=465, | 40 | # port=465, |
41 | # user="shishut@workai.com.cn", | 41 | # user="shishut@workai.com.cn", |
42 | # password="mKh50p89DqvqJ7pd", | 42 | # password="mKh50p89DqvqJ7pd", |
43 | -# to_addrs=["1171621168@qq.com", "shishut@workai.com.cn"] | 43 | +# to_addrs=["shishut@workai.com.cn"] |
44 | +# # to_addrs=["shishut@workai.com.cn", "wangf@workai.com.cn"] | ||
44 | # ) | 45 | # ) |
@@ -138,7 +138,6 @@ class Test01Department(unittest.TestCase): | @@ -138,7 +138,6 @@ class Test01Department(unittest.TestCase): | ||
138 | HandleLog.log.info("用例{},执行通过".format(select_case["title"])) | 138 | HandleLog.log.info("用例{},执行通过".format(select_case["title"])) |
139 | 139 | ||
140 | 140 | ||
141 | - | ||
142 | # ==================专业相关的用例================== | 141 | # ==================专业相关的用例================== |
143 | @myddt.ddt | 142 | @myddt.ddt |
144 | class Test02Specialty(unittest.TestCase): | 143 | class Test02Specialty(unittest.TestCase): |
@@ -258,6 +257,7 @@ class Test03Year(unittest.TestCase): | @@ -258,6 +257,7 @@ class Test03Year(unittest.TestCase): | ||
258 | headers["Authorization"] = self.token | 257 | headers["Authorization"] = self.token |
259 | req = requests.request(method=case["method"], url=url, json=data, headers=headers) | 258 | req = requests.request(method=case["method"], url=url, json=data, headers=headers) |
260 | res = req.json() | 259 | res = req.json() |
260 | + | ||
261 | print("用例入参:{}".format(data)) | 261 | print("用例入参:{}".format(data)) |
262 | print("预期结果:", expected) | 262 | print("预期结果:", expected) |
263 | print("实际结果:", res) | 263 | print("实际结果:", res) |
@@ -23,7 +23,8 @@ from tools.fixture import SelectData | @@ -23,7 +23,8 @@ from tools.fixture import SelectData | ||
23 | from tools.handle_token import LoginToken | 23 | from tools.handle_token import LoginToken |
24 | from tools.fixture import RandomPhone, RandomIdentification, RandomEmail | 24 | from tools.fixture import RandomPhone, RandomIdentification, RandomEmail |
25 | 25 | ||
26 | -TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") | 26 | +TeachingAffairs_path = os.path.join(DataExcel_Path, "teaching_affairs") # 教务系统管理列表 |
27 | +System_path = os.path.join(DataExcel_Path, "system") # 系统管理列表 | ||
27 | 28 | ||
28 | 29 | ||
29 | # ==================教师相关的用例================== | 30 | # ==================教师相关的用例================== |
@@ -33,14 +34,6 @@ class Test01CTeacher(unittest.TestCase): | @@ -33,14 +34,6 @@ class Test01CTeacher(unittest.TestCase): | ||
33 | # ---获取添加教师用例 | 34 | # ---获取添加教师用例 |
34 | add_teacher = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), "add_teacher") | 35 | add_teacher = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), "add_teacher") |
35 | add_teacher_case = add_teacher.read_excel() | 36 | add_teacher_case = add_teacher.read_excel() |
36 | - # ---获取添加院系Excel表格 | ||
37 | - select_department_excel = Excel(os.path.join(os.path.join(DataExcel_Path, "system"), "test_02_department.xlsx"), | ||
38 | - "select_department") | ||
39 | - select_url = select_department_excel.read_excel_location("C2") | ||
40 | - department_list = SelectData(str(select_url)) | ||
41 | - department_json = department_list.select_list() | ||
42 | - # 获取院系id | ||
43 | - department_id = jsonpath(department_json, "$..id")[0] | ||
44 | 37 | ||
45 | @classmethod | 38 | @classmethod |
46 | def setUpClass(cls): | 39 | def setUpClass(cls): |
@@ -51,6 +44,15 @@ class Test01CTeacher(unittest.TestCase): | @@ -51,6 +44,15 @@ class Test01CTeacher(unittest.TestCase): | ||
51 | # 获取token | 44 | # 获取token |
52 | cls.token = LoginToken.login_token() | 45 | cls.token = LoginToken.login_token() |
53 | 46 | ||
47 | + # ---获取添加院系Excel表格 | ||
48 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | ||
49 | + "select_department") | ||
50 | + read_excel = select_department_excel.read_excel_location("C2") | ||
51 | + department_list = SelectData(str(read_excel)) | ||
52 | + department_json = department_list.select_list() | ||
53 | + # 获取院系id | ||
54 | + cls.department_id = jsonpath(department_json, "$..id")[0] | ||
55 | + | ||
54 | def setUp(self): | 56 | def setUp(self): |
55 | """单条用例执行前执行的函数""" | 57 | """单条用例执行前执行的函数""" |
56 | new_time = time.strftime("%Y%m%d_%H:%M:%S") | 58 | new_time = time.strftime("%Y%m%d_%H:%M:%S") |
@@ -63,7 +65,7 @@ class Test01CTeacher(unittest.TestCase): | @@ -63,7 +65,7 @@ class Test01CTeacher(unittest.TestCase): | ||
63 | # 新增教师 | 65 | # 新增教师 |
64 | # ==================================================================== | 66 | # ==================================================================== |
65 | @data(*add_teacher_case) | 67 | @data(*add_teacher_case) |
66 | - def test_add_class_info(self, case): | 68 | + def test_add_teacher_info(self, case): |
67 | 69 | ||
68 | """新增教师用例""" | 70 | """新增教师用例""" |
69 | url = conf.get("url", "url_ip") + case['url'] | 71 | url = conf.get("url", "url_ip") + case['url'] |
@@ -94,7 +96,6 @@ class Test01CTeacher(unittest.TestCase): | @@ -94,7 +96,6 @@ class Test01CTeacher(unittest.TestCase): | ||
94 | print("预期结果:", expected) | 96 | print("预期结果:", expected) |
95 | print("实际结果:", res) | 97 | print("实际结果:", res) |
96 | # 断言 | 98 | # 断言 |
97 | - # 断言 | ||
98 | try: | 99 | try: |
99 | self.assertEqual(expected['msg'], res['msg']) | 100 | self.assertEqual(expected['msg'], res['msg']) |
100 | self.assertEqual(expected['code'], res['code']) | 101 | self.assertEqual(expected['code'], res['code']) |
@@ -112,7 +113,6 @@ class Test01CTeacher(unittest.TestCase): | @@ -112,7 +113,6 @@ class Test01CTeacher(unittest.TestCase): | ||
112 | HandleLog.log.info("用例{},执行通过".format(case["title"])) | 113 | HandleLog.log.info("用例{},执行通过".format(case["title"])) |
113 | 114 | ||
114 | 115 | ||
115 | -''' | ||
116 | # ==================班级相关的用例================== | 116 | # ==================班级相关的用例================== |
117 | @ddt | 117 | @ddt |
118 | class Test02Class(unittest.TestCase): | 118 | class Test02Class(unittest.TestCase): |
@@ -123,7 +123,259 @@ class Test02Class(unittest.TestCase): | @@ -123,7 +123,259 @@ class Test02Class(unittest.TestCase): | ||
123 | # ==================================================================== | 123 | # ==================================================================== |
124 | # 新增班级 | 124 | # 新增班级 |
125 | # ==================================================================== | 125 | # ==================================================================== |
126 | + @classmethod | ||
127 | + def setUpClass(cls): | ||
128 | + """ | ||
129 | + 用例类执行前执行的函数 | ||
130 | + :return:token | ||
131 | + """ | ||
132 | + # 获取token | ||
133 | + cls.token = LoginToken.login_token() | ||
134 | + | ||
135 | + # ---获取添加院系Excel表格 | ||
136 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | ||
137 | + "select_department") | ||
138 | + read_department_excel = select_department_excel.read_excel_location("C2") | ||
139 | + department_list = SelectData(str(read_department_excel)) | ||
140 | + department_json = department_list.select_list() | ||
141 | + cls.department_id = jsonpath(department_json, "$..id")[0] # 获取院系id | ||
142 | + # 获取查看专业id | ||
143 | + select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | ||
144 | + "select_specialty") | ||
145 | + read_specialty_excel = select_specialty_excel.read_excel_location("C2") | ||
146 | + specialty_list = SelectData(str(read_specialty_excel)) | ||
147 | + specialty_json = specialty_list.select_list() | ||
148 | + cls.professionalId = jsonpath(specialty_json, "$..id")[0] # 获取专业id | ||
149 | + # 获取查看教师id | ||
150 | + select_teacher_excel = Excel(os.path.join(TeachingAffairs_path, "test_03_teacher.xlsx"), | ||
151 | + "select_teacher") | ||
152 | + read_teacher_excel = select_teacher_excel.read_excel_location("C2") | ||
153 | + teacher_list = SelectData(str(read_teacher_excel)) | ||
154 | + teacher_json = teacher_list.select_list() | ||
155 | + cls.teacher_id = jsonpath(teacher_json, "$..id")[0] # 获取教师id | ||
156 | + | ||
157 | + def setUp(self): | ||
158 | + """单条用例执行前执行的函数""" | ||
159 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
160 | + # 随机班级名称 | ||
161 | + self.class_name = "py自动化班级" + new_time | ||
162 | + | ||
126 | @data(*add_class_case) | 163 | @data(*add_class_case) |
127 | def test_add_class_info(self, case): | 164 | def test_add_class_info(self, case): |
128 | """新增班级用例""" | 165 | """新增班级用例""" |
166 | + url = conf.get("url", "url_ip") + case["url"] | ||
167 | + # 准备数据 | ||
168 | + if "#name#" in case["data"]: | ||
169 | + case["data"] = case["data"].replace("#name#", str(self.class_name + "_" + str(case["id"]))) | ||
170 | + if "#professionalId#" in case["data"]: | ||
171 | + case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | ||
172 | + if "#teacherId#" in case["data"]: | ||
173 | + case["data"] = case["data"].replace("#teacherId#", str(self.teacher_id)) | ||
174 | + if "#departmentId#" in case["data"]: | ||
175 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | ||
176 | + data = json.loads(case["data"]) | ||
177 | + expected = json.loads(case["expected"]) | ||
178 | + # 调用接口 | ||
179 | + headers = {} | ||
180 | + headers["Authorization"] = self.token | ||
181 | + response = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
182 | + res = response.json() | ||
183 | + print("用例入参:{}".format(data)) | ||
184 | + print("预期结果:", expected) | ||
185 | + print("实际结果:", res) | ||
186 | + # 断言 | ||
187 | + try: | ||
188 | + self.assertEqual(expected['msg'], res['msg']) | ||
189 | + self.assertEqual(expected['code'], res['code']) | ||
190 | + except AssertionError as e: | ||
191 | + # 写入Excel | ||
192 | + self.add_class.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
193 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
194 | + HandleLog.log.exception(e) | ||
195 | + raise e | ||
196 | + else: | ||
197 | + self.add_class.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
198 | + # 将创建使用的数据写入到excel表格中 | ||
199 | + self.add_class.write_excel(row=case["id"] + 1, column=9, | ||
200 | + value=case["data"]) | ||
201 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
202 | + | ||
203 | + | ||
204 | +# ==================实践课程相关的用例================== | ||
205 | +@ddt | ||
206 | +class Test03Course(unittest.TestCase): | ||
207 | + """班级相关""" | ||
208 | + add_course = Excel(os.path.join(TeachingAffairs_path, "test_03_course.xlsx"), "add_course") | ||
209 | + add_course_case = add_course.read_excel() | ||
210 | + | ||
211 | + # ==================================================================== | ||
212 | + # 新增课程 | ||
213 | + # ==================================================================== | ||
214 | + @classmethod | ||
215 | + def setUpClass(cls): | ||
216 | + """ | ||
217 | + 用例类执行前执行的函数 | ||
218 | + :return:token | ||
219 | + """ | ||
220 | + # 获取token | ||
221 | + cls.token = LoginToken.login_token() | ||
222 | + | ||
223 | + # ---获取添加院系Excel表格 | ||
224 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | ||
225 | + "select_department") | ||
226 | + read_department_excel = select_department_excel.read_excel_location("C2") | ||
227 | + department_list = SelectData(str(read_department_excel)) | ||
228 | + department_json = department_list.select_list() | ||
229 | + cls.department_id = jsonpath(department_json, "$..id")[0] # 获取院系id | ||
230 | + # 获取查看专业id | ||
231 | + select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | ||
232 | + "select_specialty") | ||
233 | + read_specialty_excel = select_specialty_excel.read_excel_location("C2") | ||
234 | + specialty_list = SelectData(str(read_specialty_excel)) | ||
235 | + specialty_json = specialty_list.select_list() | ||
236 | + cls.professionalId = jsonpath(specialty_json, "$..id")[0] # 获取专业id | ||
237 | + # 获取查看学期id | ||
238 | + select_term_excel = Excel(os.path.join(System_path, "test_02_term.xlsx"), | ||
239 | + "select_term") | ||
240 | + read_term_excel = select_term_excel.read_excel_location("C2") | ||
241 | + term_list = SelectData(str(read_term_excel)) | ||
242 | + term_json = term_list.select_list() | ||
243 | + cls.terms_id = jsonpath(term_json, "$..id")[0] # 获取学年学期id | ||
244 | + | ||
245 | + def setUp(self): | ||
246 | + """单条用例执行前执行的函数""" | ||
247 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
248 | + # 随机班级名称 | ||
249 | + self.course_name = "py自动化课程" + new_time | ||
250 | + | ||
251 | + @data(*add_course_case) | ||
252 | + def test_add_course_info(self, case): | ||
253 | + """新增课程用例""" | ||
254 | + url = conf.get("url", "url_ip") + case["url"] | ||
255 | + # 准备数据 | ||
256 | + if "#name#" in case["data"]: | ||
257 | + case["data"] = case["data"].replace("#name#", str(self.course_name + "_" + str(case["id"]))) | ||
258 | + if "#departmentId#" in case["data"]: | ||
259 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | ||
260 | + if "#professionalId#" in case["data"]: | ||
261 | + case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | ||
262 | + if "#termIds#" in case["data"]: | ||
263 | + case["data"] = case["data"].replace("#termIds#", str(self.terms_id)) | ||
264 | + | ||
265 | + data = json.loads(case["data"]) | ||
266 | + expected = json.loads(case["expected"]) | ||
267 | + # 调用接口 | ||
268 | + headers = {} | ||
269 | + headers["Authorization"] = self.token | ||
270 | + response = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
271 | + res = response.json() | ||
272 | + print("用例入参:{}".format(data)) | ||
273 | + print("预期结果:", expected) | ||
274 | + print("实际结果:", res) | ||
275 | + # 断言 | ||
276 | + try: | ||
277 | + self.assertEqual(expected['msg'], res['msg']) | ||
278 | + self.assertEqual(expected['code'], res['code']) | ||
279 | + except AssertionError as e: | ||
280 | + # 写入Excel | ||
281 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
282 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
283 | + HandleLog.log.exception(e) | ||
284 | + raise e | ||
285 | + else: | ||
286 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
287 | + # 将创建使用的数据写入到excel表格中 | ||
288 | + self.add_course.write_excel(row=case["id"] + 1, column=9, | ||
289 | + value=case["data"]) | ||
290 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
291 | + | ||
292 | + | ||
293 | +''' | ||
294 | +# ==================实践学生相关的用例================== | ||
295 | +@ddt | ||
296 | +class Test03Student(unittest.TestCase): | ||
297 | + """班级相关""" | ||
298 | + add_course = Excel(os.path.join(TeachingAffairs_path, "test_03_student.xlsx"), "add_course") | ||
299 | + add_course_case = add_course.read_excel() | ||
300 | + | ||
301 | + # ==================================================================== | ||
302 | + # 新增学生 | ||
303 | + # ==================================================================== | ||
304 | + @classmethod | ||
305 | + def setUpClass(cls): | ||
306 | + """ | ||
307 | + 用例类执行前执行的函数 | ||
308 | + :return:token | ||
309 | + """ | ||
310 | + # 获取token | ||
311 | + cls.token = LoginToken.login_token() | ||
312 | + | ||
313 | + # ---获取添加院系Excel表格 | ||
314 | + select_department_excel = Excel(os.path.join(System_path, "test_02_department.xlsx"), | ||
315 | + "select_department") | ||
316 | + read_department_excel = select_department_excel.read_excel_location("C2") | ||
317 | + department_list = SelectData(str(read_department_excel)) | ||
318 | + department_json = department_list.select_list() | ||
319 | + cls.department_id = jsonpath(department_json, "$..id")[0] # 获取院系id | ||
320 | + # 获取查看专业id | ||
321 | + select_specialty_excel = Excel(os.path.join(System_path, "test_02_specialty.xlsx"), | ||
322 | + "select_specialty") | ||
323 | + read_specialty_excel = select_specialty_excel.read_excel_location("C2") | ||
324 | + specialty_list = SelectData(str(read_specialty_excel)) | ||
325 | + specialty_json = specialty_list.select_list() | ||
326 | + cls.professionalId = jsonpath(specialty_json, "$..id")[0] # 获取专业id | ||
327 | + # 获取查看学期id | ||
328 | + select_term_excel = Excel(os.path.join(System_path, "test_02_term.xlsx"), | ||
329 | + "select_term") | ||
330 | + read_term_excel = select_term_excel.read_excel_location("C2") | ||
331 | + term_list = SelectData(str(read_term_excel)) | ||
332 | + term_json = term_list.select_list() | ||
333 | + cls.terms_id = jsonpath(term_json, "$..id")[0] # 获取学年学期id | ||
334 | + | ||
335 | + def setUp(self): | ||
336 | + """单条用例执行前执行的函数""" | ||
337 | + new_time = time.strftime("%Y%m%d_%H:%M:%S") | ||
338 | + # 随机班级名称 | ||
339 | + self.course_name = "py自动化课程" + new_time | ||
340 | + | ||
341 | + @data(*add_course_case) | ||
342 | + def test_add_course_info(self, case): | ||
343 | + """新增课程用例""" | ||
344 | + url = conf.get("url", "url_ip") + case["url"] | ||
345 | + # 准备数据 | ||
346 | + if "#name#" in case["data"]: | ||
347 | + case["data"] = case["data"].replace("#name#", str(self.course_name + "_" + str(case["id"]))) | ||
348 | + if "#departmentId#" in case["data"]: | ||
349 | + case["data"] = case["data"].replace("#departmentId#", str(self.department_id)) | ||
350 | + if "#professionalId#" in case["data"]: | ||
351 | + case["data"] = case["data"].replace("#professionalId#", str(self.professionalId)) | ||
352 | + if "#termIds#" in case["data"]: | ||
353 | + case["data"] = case["data"].replace("#termIds#", str(self.terms_id)) | ||
354 | + | ||
355 | + data = json.loads(case["data"]) | ||
356 | + expected = json.loads(case["expected"]) | ||
357 | + # 调用接口 | ||
358 | + headers = {} | ||
359 | + headers["Authorization"] = self.token | ||
360 | + response = requests.request(url=url, method=case["method"], json=data, headers=headers) | ||
361 | + res = response.json() | ||
362 | + print("用例入参:{}".format(data)) | ||
363 | + print("预期结果:", expected) | ||
364 | + print("实际结果:", res) | ||
365 | + # 断言 | ||
366 | + try: | ||
367 | + self.assertEqual(expected['msg'], res['msg']) | ||
368 | + self.assertEqual(expected['code'], res['code']) | ||
369 | + except AssertionError as e: | ||
370 | + # 写入Excel | ||
371 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="不通过") | ||
372 | + HandleLog.log.error("用例标题{},不通过".format(case['title'])) | ||
373 | + HandleLog.log.exception(e) | ||
374 | + raise e | ||
375 | + else: | ||
376 | + self.add_course.write_excel(row=case["id"] + 1, column=7, value="通过") | ||
377 | + # 将创建使用的数据写入到excel表格中 | ||
378 | + self.add_course.write_excel(row=case["id"] + 1, column=9, | ||
379 | + value=case["data"]) | ||
380 | + HandleLog.log.info("用例{},执行通过".format(case["title"])) | ||
129 | ''' | 381 | ''' |
@@ -19,11 +19,8 @@ import os | @@ -19,11 +19,8 @@ import os | ||
19 | import time | 19 | import time |
20 | import random | 20 | import random |
21 | 21 | ||
22 | -""" | ||
23 | -获取json字符串 | ||
24 | -""" | ||
25 | - | ||
26 | 22 | ||
23 | +# ==================获取json字符串========== | ||
27 | class SelectData(object): | 24 | class SelectData(object): |
28 | def __init__(self, url): | 25 | def __init__(self, url): |
29 | self.url = url | 26 | self.url = url |
@@ -41,11 +38,7 @@ class SelectData(object): | @@ -41,11 +38,7 @@ class SelectData(object): | ||
41 | return res | 38 | return res |
42 | 39 | ||
43 | 40 | ||
44 | -""" | ||
45 | -随机生成手机号 | ||
46 | -""" | ||
47 | - | ||
48 | - | 41 | +# ==================随机生成手机号========== |
49 | class RandomPhone: | 42 | class RandomPhone: |
50 | 43 | ||
51 | # 随机生成手机号 | 44 | # 随机生成手机号 |
@@ -56,11 +49,7 @@ class RandomPhone: | @@ -56,11 +49,7 @@ class RandomPhone: | ||
56 | return random.choice(prelist) + "".join(random.choice("0123456789") for i in range(8)) | 49 | return random.choice(prelist) + "".join(random.choice("0123456789") for i in range(8)) |
57 | 50 | ||
58 | 51 | ||
59 | -""" | ||
60 | -随机生成身份证号 | ||
61 | -""" | ||
62 | - | ||
63 | - | 52 | +# ==================随机生成身份证号======== |
64 | class RandomIdentification(object): | 53 | class RandomIdentification(object): |
65 | 54 | ||
66 | def ran(self): | 55 | def ran(self): |
@@ -104,11 +93,7 @@ class RandomIdentification(object): | @@ -104,11 +93,7 @@ class RandomIdentification(object): | ||
104 | return ran + mat[summat % 11] | 93 | return ran + mat[summat % 11] |
105 | 94 | ||
106 | 95 | ||
107 | -""" | ||
108 | -随机生成邮箱 | ||
109 | -""" | ||
110 | - | ||
111 | - | 96 | +# ==================随机生成邮箱号========== |
112 | class RandomEmail(object): | 97 | class RandomEmail(object): |
113 | @staticmethod | 98 | @staticmethod |
114 | def rand_email(): | 99 | def rand_email(): |
@@ -116,6 +101,7 @@ class RandomEmail(object): | @@ -116,6 +101,7 @@ class RandomEmail(object): | ||
116 | # print(str(email_len) + "@163.com") | 101 | # print(str(email_len) + "@163.com") |
117 | return str(email_len) + "@163.com" | 102 | return str(email_len) + "@163.com" |
118 | 103 | ||
104 | + | ||
119 | if __name__ == '__main__': | 105 | if __name__ == '__main__': |
120 | print(RandomIdentification().ran_end()) | 106 | print(RandomIdentification().ran_end()) |
121 | # Val(Ran().ran_end()) | 107 | # Val(Ran().ran_end()) |
@@ -13,6 +13,7 @@ from common.handle_config import conf | @@ -13,6 +13,7 @@ from common.handle_config import conf | ||
13 | from jsonpath import jsonpath | 13 | from jsonpath import jsonpath |
14 | 14 | ||
15 | 15 | ||
16 | +# ==================获取登陆token======== | ||
16 | class LoginToken: | 17 | class LoginToken: |
17 | def login_token(): | 18 | def login_token(): |
18 | # 登陆获取token | 19 | # 登陆获取token |
请
注册
或
登录
后发表评论