如何使用Resharper宏的方法的返回类型替换返回值?

时间:2014-08-01 15:18:02

标签: resharper

所以我创建了一个基本的resharper模板,为我创建了Nunit Structure。

    [Test]
    public void $Method$_ShouldCall_service_$Method$()
    {
        //arrange
        $END$
        //act
        var result = _sut.$Method$($parameter$);

        //assert
        _serviceFake.AssertWasCalled(x => x.$Method$($parameter$));
    }

如果返回类型:

    _sut.$Method$($parameter$);

无效我希望结果是:

    [Test]
    public void $Method$_ShouldCall_service_$Method$()
    {
        //arrange
        $END$
        //act
        _sut.$Method$($parameter$);

        //assert
        _serviceFake.AssertWasCalled(x => x.$Method$($parameter$));
    }

Based on this post我可以获得该方法的返回类型。问题是如何删除:

    var result = 

1 个答案:

答案 0 :(得分:1)

不幸的是,这不可能。实时模板机制不支持条件插入。这意味着你需要另一个Live Template宏来检查包含类型是否为void,如果是,则产生一个空字符串,否则产生一个return(不要忘记空间)。

您应该可以像以前一样使用GetPresentableName,只需将其与void进行比较即可。然后,您应该能够像以前一样构建并返回TextLookupItem