小编lar*_* k.的帖子

如何使用带有 EventHandler<T> 的 NSubstitute 引发事件?

我有一个定义多个事件的接口,其中一些事件具有委托类型,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)

c# events unit-testing nsubstitute

5
推荐指数
1
解决办法
3929
查看次数

使用 Flask 从 HTML 表中删除单个 SQLAlchemy 行

我创建了一个 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,因为 …

python sqlalchemy flask flask-sqlalchemy flask-wtforms

2
推荐指数
1
解决办法
2642
查看次数