小编Mag*_*lex的帖子

处理spring表达式语言中的空值

我使用spring表达式语言有以下代码:

StandardEvaluationContext stdContext = new StandardEvaluationContext();
stdContext.setVariable("emp", filterInputData); 
ExpressionParser parser = new SpelExpressionParser();     
parser.parseExpression("#emp.?[name.toLowerCase().contains('Hari')]").getValue(stdContext);
Run Code Online (Sandbox Code Playgroud)

其中emp是bean的名称.这里的名称可以为null,并且在调用时name.toLowerCase()我得到一个nullpointer异常.如何处理此方案中的空值?我只需要调用toLowercase()非空值.

java spring spring-el

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

用于检查列表是否已排序的Groovy方法

Groovy是否有一种智能方法来检查列表是否已排序?前提条件是Groovy实际上知道如何对对象进行排序,例如字符串列表.

我现在的方式(这个例子只有一些测试值)是将列表复制到一个新列表,然后对其进行排序并检查它们是否相等.就像是:

def possiblySorted = ["1", "2", "3"]
def sortedCopy = new ArrayList<>(possiblySorted)
sortedCopy.sort()
Run Code Online (Sandbox Code Playgroud)

我在几个地方的单元测试中使用它,所以它会很好用,例如:

def possiblySorted = ["1", "2", "3"]
possiblySorted.isSorted()
Run Code Online (Sandbox Code Playgroud)

有没有这样的好方法来检查列表是否在Groovy中排序,或者哪种方式是优先的?我几乎可以期待Groovy有这样的东西,因为它对集合和迭代非常聪明.

sorting groovy list

11
推荐指数
2
解决办法
3286
查看次数

如何禁用.gitignore文件的自动提交?

我们有一个使用Hp Unified Functional Testing的测试团队.测试和开发团队都共享相同的Git存储库.测试团队中没有人使用HP-UFT中的Git功能,文件被提交并推送到工具之外.

尽管如此,HP-UFT(自动)创建并执行.gitignore文件的提交,如下所示.提交似乎是基于每个项目,并且混乱了git日志.

#UFT ignore section
*.lck
/Res*
#end UFT ignore section

提交不会自动推送.

所有提交的提交消息都是相同的(并且信息量不大):

UFT承诺

如何在Hp Unified Functional Testing(版本12.51)中禁用这种奇怪的行为?为了更清楚,我正在寻找的是一种使工具执行这些提交的方法.我知道应该忽略这些文件和文件夹,但我宁愿在文件夹层次结构中进一步管理一个.gitignore文件.

谷歌搜索或阅读用户指南没有任何帮助.


我对这个问题表示赞赏,并指出我想要一个包含以下内容的答案:

  • 一种从工具本身禁用这些提交的方法.我知道我可以用git hooks和其他解决方案做变通方法.
  • 指向可信赖源的链接,指定无法从该工具禁用此行为.

在赏金到期后,没有答案符合这些条件,因此我试图澄清我想要的答案.

git hp-uft

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

不推荐的编译错误

我正在尝试编译我的Java程序,但是我收到了"弃用文件"错误.

我通常通过键入"Javac FileName.java"来编译该文件,但是我收到一条错误消息:

FileName.java使用或覆盖depreacted API.使用Xlint弃用重新编译以获取详细信息.

我在命令行输入什么内容才能运行?

java compilation javac deprecated

10
推荐指数
2
解决办法
7万
查看次数

Google Chrome扩展程序中的同步通话

我正在使用Google Chrome扩展程序,该扩展程序必须阻止/重定向某些传出请求.为此,我使用了chrome.webRequest.onBeforeRequest监听器.要决定是否阻止请求,我需要一些有关选项卡请求的信息.我可以使用它chrome.tabs.get(integer tabId, function callback),但回调是异步的,这意味着它可以在从onBeforeRequest侦听器返回值后调用.

chrome.webRequest.onBeforeRequest.addListener(function(details){
 chrome.tabs.get(details.tabId, function(tab){
  // get info from tab
 }); 
 // based on info from tab return redirect or not
}), {
 urls: ["<all_urls>"],
 types: ["main_frame"]
}, ["blocking"]);
Run Code Online (Sandbox Code Playgroud)

有没有办法同步通话?或许还有一些其他选择.

javascript google-chrome synchronize

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

InnoDB工作,仍显示"数据库服务器不支持InnoDB存储引擎消息"

我正在尝试使用WAMP在本地服务器上安装Magento.InnoDB被设置为默认引擎,但它仍然显示消息:

数据库服务器不支持InnoDB存储引擎.

我真的不知道该怎么办.有人可以帮忙吗?

innodb wamp magento

9
推荐指数
3
解决办法
3万
查看次数

为什么TestNG允许多个预期的例外?

为什么TestNG有可能检查是否抛出了几个异常中的一个?据我所知,JUnit只支持一个预期的异常.考虑以下两个测试都将通过的TestNG虚拟示例:

@Test(expectedExceptions = { NullPointerException.class, IllegalArgumentException.class })
public void throwsNullPointer() {
    throw new NullPointerException();
}

@Test(expectedExceptions = { NullPointerException.class, IllegalArgumentException.class })
public void throwsIllegalArgument() {
    throw new IllegalArgumentException();
}
Run Code Online (Sandbox Code Playgroud)

我最初的感觉是,应该可以从测试中的代码中精确地推导出预期的异常.但是,TestNG背后的人必须做出一些设计决定.

它是否支持测试具有无法模拟的随机功能的代码?有没有人有想法,最好是现实生活场景?

java testng unit-testing exception

9
推荐指数
2
解决办法
1631
查看次数

什么是Microsoft SQL Server 2014的Hibernate方言?

我在线搜索但找不到用于Microsoft SQL Server 2014的Hibernate方言.应该使用哪种方言?

sql-server hibernate

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

如何断言两个列表<String>相等,忽略顺序

我正在使用AssertJ,我试图断言两个List<String>包含相同的字符串,忽略顺序.

List<String> expected = Arrays.asList("Something-6144-77.pdf", "d-6144-77.pdf", "something-6144-78.pdf", "Something-6144-8068.pdf");
List<String> actual = new ArrayList<String>();

assertThat(actual.size()).isEqualTo(expected.size());

// This line gives the error: "The method containsExactlyInAnyOrder(String...) in the type ListAssert<String> is not applicable for the arguments (List<String>)"
assertThat(actual).containsExactlyInAnyOrder(expected);
Run Code Online (Sandbox Code Playgroud)

如何修复下面尝试使用时出现的编译错误containsExactlyInAnyOrder()

"ListAssert类型中的方法containsExactlyInAnyOrder(String ...)不适用于参数(List)"

java assertj

9
推荐指数
3
解决办法
6562
查看次数

动态地向类提供变量

我试过这里的官方教程提供的例子:

http://saratoga.readthedocs.org/en/latest/serviceclasses.html

我对代码做了一些更改,这就是它的样子:

http://23.21.167.60:8094/v1/yearlength?name=earth
Run Code Online (Sandbox Code Playgroud)

我的问题是我需要在URL中提供account = 211829,就像name = earth一样.

我在下面写的是工作,因为我已经为班级提供了帐号.我该如何动态执行此操作?

import json
from saratoga.api import SaratogaAPI, DefaultServiceClass

class PlanetServiceClass(DefaultServiceClass):
    def __init__(self, myaccount):
        self.yearLength = {
            "earth": self.myquery(myaccount),
            "pluto": {"seconds": 7816176000}
        }

    def myquery(self, myaccount):
        import pandas as pd

        query = ('select * from mydata198 where account = %s  ')  % (myaccount)

        import sqlalchemy
        engine = sqlalchemy.create_engine('mysql+pymysql://dba:pass@1.2.3.4/test')
        conn = engine.raw_connection()

        df=pd.read_sql(query, conn)
        return df.to_json()

class PlanetAPI(object):
    class v1(object):
        def yearlength_GET(self, request, params):
            planetName = params["params"]["name"].lower()
            return self.yearLength.get(planetName) …
Run Code Online (Sandbox Code Playgroud)

python saratoga

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