测试模块

This commit is contained in:
cdeyw
2025-09-29 09:19:30 +08:00
parent dbb66972b6
commit bd7820df76
7 changed files with 1609 additions and 21 deletions

View File

@ -4,17 +4,17 @@ from unittest.mock import patch, MagicMock
import sys
import os
# 添加src目录到Python路径
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'src'))
# 添加项目根目录到Python路径
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
from src.control.feeding_controller import FeedingControlSystem
from feeding.process import FeedingProcess
class TestFeedingProcess(unittest.TestCase):
@patch('src.control.feeding_process.RelayController')
@patch('src.control.feeding_process.InverterController')
@patch('src.control.feeding_process.TransmitterController')
@patch('feeding.process.RelayController')
@patch('feeding.process.InverterController')
@patch('feeding.process.TransmitterController')
def test_initialization(self, mock_transmitter, mock_inverter, mock_relay):
"""测试初始化"""
# 创建模拟对象
@ -28,28 +28,27 @@ class TestFeedingProcess(unittest.TestCase):
mock_transmitter.return_value = mock_transmitter_instance
# 创建系统实例
system = FeedingControlSystem()
system = FeedingProcess()
# 验证初始化
self.assertIsNotNone(system)
self.assertFalse(system._running)
self.assertFalse(system.state.running)
def test_set_feeding_parameters(self):
"""测试设置下料参数"""
with patch('src.control.feeding_process.RelayController'), \
patch('src.control.feeding_process.InverterController'), \
patch('src.control.feeding_process.TransmitterController'):
system = FeedingControlSystem()
system.set_feeding_parameters(
target_vehicle_weight=3000,
upper_buffer_weight=300,
single_batch_weight=1500
)
with patch('feeding.process.RelayController'), \
patch('feeding.process.InverterController'), \
patch('feeding.process.TransmitterController'):
system = FeedingProcess()
# 通过settings修改参数
system.settings.single_batch_weight = 1500
system.settings.min_required_weight = 300
system.settings.target_vehicle_weight = 3000
self.assertEqual(system.target_vehicle_weight, 3000)
self.assertEqual(system.upper_buffer_weight, 300)
self.assertEqual(system.single_batch_weight, 1500)
self.assertEqual(system.settings.target_vehicle_weight, 3000)
self.assertEqual(system.settings.min_required_weight, 300)
self.assertEqual(system.settings.single_batch_weight, 1500)
if __name__ == '__main__':
unittest.main()
unittest.main()