执行python脚本后运行了_jb_unittest_runner.py

1、问题概述?

运行python脚本的时候,没有正确的执行我选中的脚本范围运行了,如下脚本。

G:\InstallSoftDirectory\PyCharm Community Edition 2023.2.5\plugins\python-ce\helpers\pycharm\_jb_unittest_runner.py

这个主要就是单元测试工具没有选择好造成的。

2、解决办法?

1、File-> Settings

2、Tools-> Python Integrated Tools

3、根据需要选择你何时的单元测试工具

我之前默认的是Autodect  重新选择了Unittests后运行正常

import unittest import requests from flask_sqlalchemy import SQLAlchemy from app import create_app, db, User # 假设主程序为app.py class TestUserAPI(unittest.TestCase): base_url = "http://localhost:5000/api/users" test_data = { "name": "测试用户", "email": "test@example.com", "age": 25 } @classmethod def setUpClass(cls): """初始化测试环境""" cls.app = create_app('testing') cls.app_context = cls.app.app_context() cls.app_context.push() db.create_all() @classmethod def tearDownClass(cls): """清理测试环境""" db.session.remove() db.drop_all() cls.app_context.pop() def setUp(self): """每个测试用例前清理数据""" User.query.delete() db.session.commit() def test_01_create_user(self): """测试用户创建接口""" # 正常创建 response = requests.post(self.base_url, json=self.test_data) self.assertEqual(response.status_code, 201) self.assertIn("id", response.json()) # 验证数据库 user = User.query.filter_by(email=self.test_data["email"]).first() self.assertEqual(user.name, "测试用户") # 重复创建测试 dup_response = requests.post(self.base_url, json=self.test_data) self.assertEqual(dup_response.status_code, 409) def test_02_get_user(self): """测试用户查询接口""" # 先创建测试数据 user = User(**self.test_data) db.session.add(user) db.session.commit() # 正常查询 get_url = f"{self.base_url}/{user.id}" response = requests.get(get_url) self.assertEqual(response.status_code, 200) self.assertEqual(response.json()["email"], self.test_data["email"]) # 无效ID查询 invalid_response = requests.get(f"{self.base_url}/9999") self.assertEqual(invalid_response.status_code, 404) def test_03_update_user(self): """测试用户更新接口""" # 创建测试数据 user = User(**self.test_data) db.session.add(user) db.session.commit() # 更新操作 update_data = {"name": "新名字", "age": 30} response = requests.put(f"{self.base_url}/{user.id}", json=update_data) self.assertEqual(response.status_code, 200) # 验证更新结果 updated_user = User.query.get(user.id) self.assertEqual(updated_user.name, "新名字") self.assertEqual(updated_user.age, 30) def test_04_delete_user(self): """测试用户删除接口""" # 创建测试数据 user = User(**self.test_data) db.session.add(user) db.session.commit() # 删除操作 delete_url = f"{self.base_url}/{user.id}" response = requests.delete(delete_url) self.assertEqual(response.status_code, 204) # 验证删除结果 deleted_user = User.query.get(user.id) self.assertIsNone(deleted_user) def test_05_invalid_create(self): """测试异常创建请求""" # 缺少必填字段 invalid_data = {"email": "invalid@test.com"} response = requests.post(self.base_url, json=invalid_data) self.assertEqual(response.status_code, 400) self.assertIn("name", response.json()["errors"]) if __name__ == '__main__': unittest.main(verbosity=2) C:\Users\Administrator\PyCharmMiscProject\.venv\Scripts\python.exe "D:/PyCharm/PyCharm Community Edition 2025.1.1.1/plugins/python-ce/helpers/pycharm/_jb_trialtest_runner.py" --path C:\Users\Administrator\PyCharmMiscProject\flask_project\tests.py Testing started at 18:12 ... Launching trial with arguments --reporter=teamcity C:\Users\Administrator\PyCharmMiscProject\flask_project\tests.py in C:\Users\Administrator\PyCharmMiscProject\flask_project Error Traceback (most recent call last): Failure: builtins.tuple: (<class 'ImportError'>, ImportError("cannot import name 'create_app' from 'app' (C:\\Users\\Administrator\\PyCharmMiscProject\\.venv\\Lib\\site-packages\\app\\__init__.py)"), <traceback object at 0x0000015DBF348380>) =============================================================================== [ERROR] Traceback (most recent call last): Failure: builtins.tuple: (<class 'ImportError'>, ImportError("cannot import name 'create_app' from 'app' (C:\\Users\\Administrator\\PyCharmMiscProject\\.venv\\Lib\\site-packages\\app\\__init__.py)"), <traceback object at 0x0000015DBF348380>) C:\Users\Administrator\PyCharmMiscProject\flask_project\tests.py ------------------------------------------------------------------------------- Ran 1 tests in 0.011s FAILED (errors=1) 进程已结束,退出代码为 1
05-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾林小妖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值