Files
Feeding_control_system/tests/test_feeding_process.py

53 lines
1.8 KiB
Python
Raw Permalink Normal View History

# tests/test_feeding_process.py
import unittest
from unittest.mock import patch, MagicMock
import sys
import os
2025-09-29 09:19:30 +08:00
# 添加项目根目录到Python路径
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
2025-09-29 09:19:30 +08:00
from feeding.process import FeedingProcess
class TestFeedingProcess(unittest.TestCase):
2025-09-29 09:19:30 +08:00
@patch('feeding.process.RelayController')
@patch('feeding.process.InverterController')
@patch('feeding.process.TransmitterController')
def test_initialization(self, mock_transmitter, mock_inverter, mock_relay):
"""测试初始化"""
# 创建模拟对象
mock_relay_instance = MagicMock()
mock_relay.return_value = mock_relay_instance
mock_inverter_instance = MagicMock()
mock_inverter.return_value = mock_inverter_instance
mock_transmitter_instance = MagicMock()
mock_transmitter.return_value = mock_transmitter_instance
# 创建系统实例
2025-09-29 09:19:30 +08:00
system = FeedingProcess()
# 验证初始化
self.assertIsNotNone(system)
2025-09-29 09:19:30 +08:00
self.assertFalse(system.state.running)
def test_set_feeding_parameters(self):
"""测试设置下料参数"""
2025-09-29 09:19:30 +08:00
with patch('feeding.process.RelayController'), \
patch('feeding.process.InverterController'), \
patch('feeding.process.TransmitterController'):
system = FeedingProcess()
# 通过settings修改参数 system.settings.single_batch_weight = 1500
2025-09-29 09:19:30 +08:00
system.settings.min_required_weight = 300
system.settings.target_vehicle_weight = 3000
2025-09-29 09:19:30 +08:00
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__':
2025-09-29 09:19:30 +08:00
unittest.main()