我有一个定义多个事件的接口,其中一些事件具有委托类型,EventHandler<T>例如. 实现此接口的对象在另一个类中使用,简单的安排如下:T<string>
public interface IEventEmitter
{
event EventHandler mySimpleEvent;
event EventHandler<string> myStringEvent;
}
public class EventObserver
{
public IEventEmitter Emitter;
public int called = 0;
public EventObserver(IEventEmitter emitter)
{
Emitter = emitter;
Emitter.myStringEvent += (sender, text) =>
{
called++;
Console.WriteLine("Observed event: {0}", text);
};
Emitter.mySimpleEvent += (sender, args) =>
{
called++;
Console.WriteLine("Observed event: simple");
};
Console.WriteLine("Registered observer");
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想用 NUnit3 和 NSubstitute 3.1.0 测试代码。使用 NSubstitute,我可以用……呃……替代品来替换这些对象,我的代码如下所示:
[Test()]
public void EventObserverTest()
{
// Arrange
IEventEmitter emitter = …Run Code Online (Sandbox Code Playgroud) 我创建了一个 HTML 表,其中列出了 SQLAlchemy 表中的许多行。该表是使用 jinja2 模板通过循环创建的:
{% for single_merchant in merchants %}
<tr>
<td>{{single_merchant.id}}</td>
<td><button type="button" class="btn btn-sm btn-outline-danger">Delete</button>
</tr>
Run Code Online (Sandbox Code Playgroud)
每行都有一个“删除”按钮。我正在尝试弄清楚如何分配删除按钮来删除该特定的 SQLalchemy 行。我尝试将按钮创建为名为的单独烧瓶形式delete_form,并添加一个id="{{single_merchant.id}}属性,button如下所示:
{% for single_merchant in merchants %}
<tr>
<td>{{single_merchant.id}}</td>
<form method="post">
{{ delete_form.hidden_tag() }}
<td>{{ delete_form.delete(id=single_merchant.id) }}</td>
</form>
</tr>
Run Code Online (Sandbox Code Playgroud)
然后在 app.py 中我创建了一个 if 语句:
if delete_form.validate_on_submit():
print(f"merchant to delete ID - {delete_form.delete.id}")
Run Code Online (Sandbox Code Playgroud)
我希望获得single_merchant.id输出并在 if 语句中使用它从我的 SQLAlchemy 表中删除特定商家,但相反,我得到了输出,merchant to delete ID - delete即使从 HTML 文件中该id属性的值为 1,因为 …