擅长:python、mysql、java
<p>不确定这是否回答了你的问题,因为它涉及到初始类设计的改变,
但它来了。你知道吗</p>
<p>您创建了一个没有构造函数或属性的惰性类,它隐藏了
对象。不是<code>set</code>或<code>has</code>方法未经测试,而是
对象的状态未知。你有没有一个<code>.value</code>属性要透露
<code>self.__mask</code>,这将解决测试.set()和has()的问题。你知道吗</p>
<p>另外,我会强烈考虑构造函数中的默认值,这使它看起来更好看
实例化并允许更简单的测试(关于避免在python<a href="https://gist.github.com/sloria/7001839" rel="nofollow noreferrer">is here</a>中使用setter的一些建议)。你知道吗</p>
<pre><code>def __init__(self, mask=0):
self.__mask = mask
</code></pre>
<p>如果有任何设计考虑因素阻止您拥有<code>.value</code>属性,
如果init接受一个值,也许可以使用`\uu eq\方法。你知道吗</p>
<pre><code> a = BitMask(0)
b = BitMask(5)
a.set(5)
assert a == b
</code></pre>
<p>当然,你可以在如何测试情商的问题上提出质疑。你知道吗</p>
<p>最后,也许你打补丁失败了,或者猴子打补丁失败了
阻止被测物体内部某物或使其以不同方式工作的技术
(如模拟网络响应而不实际调用)。任何一个库的路径
我想你还是会执行一个<code>kind of</code><code>x.__mask = value</code>赋值,这
对于像这里这样一个小的、好的、本地定义的类来说并不太合理。你知道吗</p>
<p>希望这对你的探索有所帮助。你知道吗</p>