请参阅此简化的Blazor组件MyComponent
:
<button id="enableButton" @onclick="Enable">Enable</button>
<button id="disableButton" @onclick="Disable">Disable</button>
<select disabled="@_disabled">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
@code {
private bool _disabled;
private void Enable() { _disabled = false; }
private void Disable() { _disabled = true; }
}
下面是Blazor组件的两个简单的bUnit测试:
[Test]
public void Enable()
{
using var testContext = new TestContext();
var testee = testContext.RenderComponent<MyComponent>();
testee.Find("[id^=\"enableButton\"]").Click();
testee.Find("select").IsDisabled().Should().BeFalse();
}
[Test]
public void Disable()
{
using var testContext = new TestContext();
var testee = testContext.RenderComponent<MyComponent>();
testee.Find("[id^=\"disableButton\"]").Click();
testee.Find("select").IsDisabled().Should().BeTrue();
}
Disable
测试失败,Expected testee.Find("select").IsDisabled() to be true, but found False.
测试失败.但当在浏览器中渲染MyComponent
时,一切都按预期进行.
我做错了什么?