小编TER*_*ytE的帖子

使用SpecFlow(或同等工具)编写质量规格

过去几天我一直在玩SpecFlow.在那段时间里,我意识到我应该为这些系统编写质量规格.

有人能指出一些资源,其中包含有关为SpecFlow或类似工具创建质量规范的最佳实践吗?

specifications rspec specflow

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

在IntelliJ IDEA 10中查看呈现的HTML

有没有办法在IntelliJ中完全呈现HTML文件?我有一个简单的HTML文件,其中包含项目中的链接列表.当我查看文件时,我看到了这个:

<a href="http://address1">link 1</a>
<a href="http://address2">link 2</a>
<a href="http://address3">link 3</a>
Run Code Online (Sandbox Code Playgroud)

我想在IntelliJ中打开文件,让它显示呈现的HTML:

link 1
link 2
link 3
Run Code Online (Sandbox Code Playgroud)

这样我就可以避免在外部浏览器中启动它.

html intellij-idea

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

Maven可以忽略丢失的系统属性吗?

如果我在我的pom文件中有以下内容:

<properties>
    <mySystemProperty>${mySystemProperty}</mySystemProperty>
</properties>
Run Code Online (Sandbox Code Playgroud)

当我使用"mvn clean install -DmySystemProperty = someData"构建时,它构建成功.如果我使用"mvn clean install"构建它,我不需要指定系统属性,Maven给了我这个错误:

Resolving expression: '${mySystemProperty}': Detected the following recursive expression cycle in 'mySystemProperty'
Run Code Online (Sandbox Code Playgroud)

有没有办法让maven忽略丢失的系统属性?如果没有,有没有办法默认它?

maven-2 properties maven-3 maven

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

非空对象如非空对象?

我有一些代码获取枚举的值:

StringUtils.isEmpty(getEnumMember().value());
Run Code Online (Sandbox Code Playgroud)

支持代码如下所示:

public CustomEnum getEnumMember() {
    return enumMember;
}

----

public enum CustomEnum {

    TEXT1("text1"),
    TEXT2("text2"),
    TEXT3("text3");

    private final String value;

    CustomEnum(String v) {
        value = v;
    }

    public String value() {
        return value;
   }

   ...
}
Run Code Online (Sandbox Code Playgroud)

我想知道getEnumMember是否有办法以与处理null对象相同的方式处理空枚举.例如:

public CustomEnum getEnumMember() {
    if (enumMember ==null) {
        return new CustomEnum();
    }
    return enumMember;
}
Run Code Online (Sandbox Code Playgroud)

但我不能实例化一个"新的CustomEnum".你将如何处理这个,以便getEnumMember()不会返回null?我不想为"ENUM_IS_NULL("")"创建一个特殊的枚举值.

java null enums

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

如何在mule中检查入站标题"content-type"响应?

我有一个流程来处理来自REST服务的响应:

    <http:outbound-endpoint method="GET"
                            address="http://www.SomeAddress.com"
                            exchange-pattern="request-response">
        ...
        <response>
            <json:json-to-object-transformer/>
            <custom-transformer ... />
        </response>
    </http:outbound-endpoint>
Run Code Online (Sandbox Code Playgroud)

最近该服务已更新为返回html内容.我希望能够在响应中识别内容类型:

    <http:outbound-endpoint method="GET"
                            address="http://www.SomeAddress.com"
                            exchange-pattern="request-response">
        ...
        <response>
            <choice>
                <when content-type is html>
                    <custom-transformer-for-html ... />
                </when>
                <otherwise>
                    <json:json-to-object-transformer/>
                    <custom-transformer ... />
                </otherwise>
            </choice>
        </response>
    </http:outbound-endpoint>
Run Code Online (Sandbox Code Playgroud)

更好的是,如果内容类型无法识别,那么简单地抛出异常会很好,类似于传统的switch语句:

switch (content-type) {
    case (html) : ...
    case (json): ...
    default: throw exception
}
Run Code Online (Sandbox Code Playgroud)

选择语句可以检查入站标题内容类型吗?交换机是否可以进行默认检查?有什么例子我可以看一下吗?

---更新---

我在下面尝试了戴维斯的建议:

        <response>                
            <choice>
                <when expression="#[message.inboundProperties['Content-Type'].contains('text/html')]">
                    <logger message="when number one invoked" level="WARN"/>
                </when>
                <when expression="#[message.inboundProperties['Content-Type'].contains('application/json')]">
                   <logger message="when number two invoked" level="WARN"/>
                </when>
                <otherwise>
                    <logger message="otherwise invoked" …
Run Code Online (Sandbox Code Playgroud)

java rest content-type mule

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

如何在C#中使用带有线程池的HttpClient PostAsync()?

我正在使用以下代码将图像发布到服务器.

var image= Image.FromFile(@"C:\Image.jpg");
Task<string> upload = Upload(image);
upload.Wait();

public static async Task<string> Upload(Image image)
{
    var uriBuilder = new UriBuilder
    {
        Host = "somewhere.net",
        Path = "/path/",
        Port = 443,
        Scheme = "https",
        Query = "process=false"
    };

    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("locale", "en_US");
        client.DefaultRequestHeaders.Add("country", "US");

        var content = ConvertToHttpContent(image);
        content.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg");

        using (var mpcontent = new MultipartFormDataContent("--myFakeDividerText--")
            {
                {content, "fakeImage", "myFakeImageName.jpg"}
            }
        )
        {
            using (
                var message = await client.PostAsync(uriBuilder.Uri, mpcontent))
            {
                var input …
Run Code Online (Sandbox Code Playgroud)

.net c# post multithreading dotnet-httpclient

0
推荐指数
1
解决办法
2084
查看次数