擅长:python、mysql、java
<p>所以这里的问题是,当水箱模型是<a href="https://github.com/crystalattice/VirtualPLC/blob/master/Models/FuelFarm/components.py" rel="nofollow noreferrer">imported</a>时,每个水箱和阀门的状态初始化一次,就像这里的tank1:</p>
<pre><code># Storage tanks
# Assumes 36 ft tall tank w/ 1 million gallon capacity = 27778 gallons per foot
# Assumes 16 inch diam transfer piping
tank1 = tank.Tank("Tank 1", level=36.0, fluid_density=DENSITY, spec_gravity=SPEC_GRAVITY, outlet_diam=16,
outlet_slope=0.25)
tank1.static_tank_press = tank1.level
tank1.gravity_flow(tank1.pipe_diam, tank1.pipe_slope, tank1.pipe_coeff)
</code></pre>
<p>如果不知道这个项目应该做什么,很难对这个设计提出具体的批评,但是这个设计有大量的全局状态,这使得测试非常困难。在</p>
<p>不管现有设计的优缺点如何,如果您希望测试可靠和孤立,您需要做的是在每次测试开始时将每个坦克的状态重置为已知状态。考虑到这里涉及到多少全球事务,你的选择非常有限。在</p>
<p>当全局存储这么多状态时,我的建议是在每次测试后使用<code>setUp</code>和<code>tearDown</code>方法重置回已知状态。在</p>
<p>这是未经测试的,但您正在寻找这样的东西:</p>
^{pr2}$
<p>它基本上在每次测试之前存储原始状态,然后在每次测试之后恢复它。这些属性中有一些魔力,所以可能需要一点尝试和错误才能使其100%工作。在</p>