小编use*_*917的帖子

用JMockit模拟私有静态字段?

我有一个类似以下的课程;

class ClassA {
    private static File myDir;

    // myDir is created at some stage

    private static String findFile(final String fileName) {
       for (final String actualBackupFileName : myDir.list()) {
           if (actualBackupFileName.startsWith(removeExtensionFrom(backupFile))) {
               return actualBackupFileName;
            }
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,基本上,我想通过模拟File类来测试这个类,以便在调用list()时它返回我在我的测试类中定义的字符串列表.

我已经得到了以下内容,但它在一分钟内没有工作,可能有一些明显我做错了 - 我是JMockit的新手 - 非常感谢任何帮助!

@Mocked("list") File myDir;

@Test
  public void testClassA() {
    final String[] files = {"file1-bla.txt"};

    new NonStrictExpectations() {{
      new File(anyString).list(); 
      returns(files);
   }};

   String returnedFileName = Deencapsulation.invoke(ClassA.class, "findFile","file1.txt");

   // assert returnedFileName is equal to "file1-bla.txt"
  }
Run Code Online (Sandbox Code Playgroud)

运行上面的测试时,我得到了ClassA中myDir字段的NullPointerException - 所以看起来它没有被正确模拟?

java unit-testing jmockit

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

如何使用unboundid-ldap-sdp导入ldif文件?

我从LDAP服务器导出了以下ldif文件,现在我正在尝试导入它,以便我可以复制我从中导出的目录:

dn: cn=MYCOMPANY Users,dc=mycompany,dc=com
changetype: add
objectClass: posixGroup
objectClass: top
cn: MYCOMPANY Users
gidNumber: 1001

dn: cn=jim smith,cn=MYCOMPANY Users,dc=mycompany,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: jim
cn: jim smith
sn: smith
gidNumber: 1000
homeDirectory: /home/users/arolls
uid: jsmith
uidNumber: 1038
userPassword: {MD5}X03MO1qnZdYdgyfeuILPmQ==

dn: cn=dave jones,cn=MYCOMPANY Users,dc=mycompany,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: dave
userPassword: {MD5}FhCDh0PMkOPk/dp0goLZuA==
loginShell: /bin/sh
cn: dave jones
sn: dave
gidNumber: 1000
homeDirectory: /home/users/dave
uid: dave
uidNumber: 1006
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用它导入它

LDIFReader r = new LDIFReader(resourceAsStream);
LDIFChangeRecord readEntry = …
Run Code Online (Sandbox Code Playgroud)

java ldap ldif unboundid-ldap-sdk

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

列出1对N对1关系的内部项目更好的成语?

我有以下型号:

1 RepositoryDTO可以有许多ResourceDTO,并且在每个ResourceDTO中都是一个TeamDTO.

因此,要从RepositoryDTO获取TeamDTO,我将执行以下操作:

RepositoryDTO repoDTO = ...
List<TeamDTO> teamsLinkedToRepo = getTeamsLinkedTo(repoDTO);

private List<TeamDTO> getTeamsLinkedTo(final RepositoryDTO repository) {
    final List<TeamDTO> teamsLinkedToRepository = new ArrayList<TeamDTO>();
    for (final ResourceDTO resourceDTO : repository.getResources()) {
      teamsLinkedToRepository.add(resourceDTO.getTeam());
    }
    return teamsLinkedToRepository;
}
Run Code Online (Sandbox Code Playgroud)

我只是想知道有没有更好的成语,可能使用谷歌番石榴?

java guava

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

检查String是否与Java中的特定MessageFormat匹配?

我有像这样的MessageFormat;

final MessageFormat messageFormat = new MessageFormat("This is token one {0}, and token two {1}");
Run Code Online (Sandbox Code Playgroud)

我只是想知道我是否有类似的字符串;

String shouldMatch = "This is token one bla, and token two bla";
String wontMatch = "This wont match the above MessageFormat";
Run Code Online (Sandbox Code Playgroud)

如何检查上述字符串是否是使用messageFormat创建的?即它们匹配messageFormat?

非常感谢!

java messageformat

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

使用FileReader读取Java文件时如何跳过某一行?

我正在阅读一个文件;

FileReader reader = new FileReader(source);
FileWriter writer = new FileWriter((destination));

int char = 0;
while ((char = reader.read()) != -1) {
  writer.write(char);
}
Run Code Online (Sandbox Code Playgroud)

基本上,我想首先检查源文件是否包含某一行,然后是换行符,如果是,我想跳过这些行写入目标文件.

请注意,我想跳过的换行符将被添加到源文件中;

System.getProperty("line.separator").getBytes()
Run Code Online (Sandbox Code Playgroud)

非常感谢!

java java-io

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

这种用于处理Java中的IO异常的模式是否正确?

在下面的代码片段中,如果抛出ex1,将被第二个catch块捕获,还是会被抛回到方法的调用者?

如果它被抛回到调用者,然后在finally块(ex2)中发生第二个异常,这是否意味着2个异常将被抛回调用者(ex1和ex2)?

try {
  // write to file
} catch (IOException ex1) {
  throw ex1;
} finally {
  try {
    aBufferedWriter.close();
  } catch (IOException ex2) {
    throw ex2;
  }
}
Run Code Online (Sandbox Code Playgroud)

java io

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