这是让我感到困惑的一个.我正在尝试实现一个基本的Hibernate DAO结构,但是遇到了问题.
这是基本代码:
int startingCount = sfdao.count();
sfdao.create( sf );
SecurityFiling sf2 = sfdao.read( sf.getId() );
sfdao.delete( sf );
int endingCount = sfdao.count();
assertTrue( startingCount == endingCount );
assertTrue( sf.getId().longValue() == sf2.getId().longValue() );
assertTrue( sf.getSfSubmissionType().equals( sf2.getSfSubmissionType() ) );
assertTrue( sf.getSfTransactionNumber().equals( sf2.getSfTransactionNumber() ) );
Run Code Online (Sandbox Code Playgroud)
它在第三个assertTrue上失败,它试图将sf中的值与sf2中的相应值进行比较.这是例外:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at com.freightgate.domain.SecurityFiling_$$_javassist_7.getSfSubmissionType(SecurityFiling_$$_javassist_7.java)
at com.freightgate.dao.SecurityFilingTest.test(SecurityFilingTest.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
Run Code Online (Sandbox Code Playgroud) 我有一个组件设置,它本质上是一个应用程序的启动器.它的配置如下:
@Component
public class MyLauncher {
@Autowired
MyService myService;
//other methods
}
Run Code Online (Sandbox Code Playgroud)
MyService使用@ServiceSpring注释进行注释,并自动连接到我的启动器类中,没有任何问题.
我想为MyLauncher编写一些jUnit测试用例,为此我开始这样一个类:
public class MyLauncherTest
private MyLauncher myLauncher = new MyLauncher();
@Test
public void someTest() {
}
}
Run Code Online (Sandbox Code Playgroud)
我可以为MyService创建一个Mock对象并将其注入我的测试类中的myLauncher吗?我目前在myLauncher中没有getter或setter,因为Spring正在处理自动装配.如果可能的话,我不想添加getter和setter.我可以告诉测试用例使用@Beforeinit方法将模拟对象注入到自动装配的变量中吗?
如果我对此完全错误,请随意说出来.我还是新手.我的主要目标是只需要一些Java代码或注释,将模拟对象放在该@Autowired变量中,而不必编写setter方法或必须使用applicationContext-test.xml文件.我宁愿为.java文件中的测试用例维护所有内容,而不是仅为我的测试维护单独的应用程序内容.
我希望使用Mockito作为模拟对象.在过去,我通过使用org.mockito.Mockito和创建我的对象来完成此操作Mockito.mock(MyClass.class).
我正在尝试bash script在我的Ubuntu机器上运行,它给了我一个错误:
功能未找到
为了测试,我创建了以下脚本,它可以在我的笔记本电脑上正常工作但不能在我的桌面上工 任何想法为什么?如果相关,我的笔记本电脑是mac.
#!/bin/bash
function sayIt {
echo "hello world"
}
sayIt
Run Code Online (Sandbox Code Playgroud)
这会在我的笔记本电脑上返回"hello world",但在我的桌面上会返回:
run.sh:3:找不到函数hello world run.sh:5:语法错误:"}"意外
我正在使用Pattern/ Matcher来获取HTTP响应中的响应代码.groupCount返回1,但在尝试获取它时我得到一个例外!知道为什么吗?
这是代码:
//get response code
String firstHeader = reader.readLine();
Pattern responseCodePattern = Pattern.compile("^HTTP/1\\.1 (\\d+) OK$");
System.out.println(firstHeader);
System.out.println(responseCodePattern.matcher(firstHeader).matches());
System.out.println(responseCodePattern.matcher(firstHeader).groupCount());
System.out.println(responseCodePattern.matcher(firstHeader).group(0));
System.out.println(responseCodePattern.matcher(firstHeader).group(1));
responseCode = Integer.parseInt(responseCodePattern.matcher(firstHeader).group(1));
Run Code Online (Sandbox Code Playgroud)
这是输出:
HTTP/1.1 200 OK
true
1
Exception in thread "Thread-0" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Unknown Source)
at cs236369.proxy.Response.<init>(Response.java:27)
at cs236369.proxy.ProxyServer.start(ProxyServer.java:71)
at tests.Hw3Tests$1.run(Hw3Tests.java:29)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud) 我正在学习用来ExectorService汇集threads和发送任务.我有一个简单的程序如下
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
class Processor implements Runnable {
private int id;
public Processor(int id) {
this.id = id;
}
public void run() {
System.out.println("Starting: " + id);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
System.out.println("sorry, being interupted, good bye!");
System.out.println("Interrupted "+Thread.currentThread().getName());
e.printStackTrace();
}
System.out.println("Completed: " + id);
}
}
public class ExecutorExample {
public static void main(String[] args) {
Boolean isCompleted=false;
ExecutorService executor = Executors.newFixedThreadPool(2);
for(int i=0; i<5; i++) {
executor.execute(new …Run Code Online (Sandbox Code Playgroud) 我想知道如何使用EventBus或者是否有更好的解决方案来Event通过项目发送.
Widget1有一个Button.Widget2有一个Label,当我按下按钮时应该改变.这些小部件位于DockLayout:
RootLayoutPanel rootLayoutPanel = RootLayoutPanel.get();
DockLayoutPanel dock = new DockLayoutPanel(Unit.EM);
dock.addWest(new Widget1(), 10);
dock.add(new Widget2());
rootLayoutPanel.add(dock);
Run Code Online (Sandbox Code Playgroud)
我已宣布handleClickAlert进入Widget1:
@UiHandler("button")
void handleClickAlert(ClickEvent e) {
//fireEvent(e);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试阻止bash将重复命令保存到我的历史记录中.这是我得到的:
shopt -s histappend
export HISTIGNORE='&:ls:cd ~:cd ..:[bf]g:exit:h:history'
export HISTCONTROL=erasedups
export PROMPT_COMMAND='history -a'
Run Code Online (Sandbox Code Playgroud)
这在我登录并且.bash_history在内存中时工作正常.例如:
$ history
1 vi .bashrc
2 vi .alias
3 cd /cygdrive
4 cd ~jplemme
5 vi .bashrc
6 vi .alias
$ vi .bashrc
$ history
1 vi .alias
2 cd /cygdrive
3 cd ~jplemme
4 vi .alias
5 vi .bashrc
$ vi .alias
$ history
1 cd /cygdrive
2 cd ~jplemme
3 vi .bashrc
4 vi .alias
$ exit
Run Code Online (Sandbox Code Playgroud)
但是当我重新登录时,我的历史文件看起来像这样:
$ history …Run Code Online (Sandbox Code Playgroud) 我想提供一个简单的URL,它将始终返回最新版本的工件快照版本.简单来说,我的意思是URL不会改变,或者要求用户浏览目录并检查时间戳.
首先我认为很奇怪,OpenJDK项目页面上没有与bug跟踪器的链接,然后我找到了bugs.openjdk.java.net,但它仅适用于经过认证的项目成员.象牙塔外的人们如何贡献问题?有邮件列表,有些人打电话给邮件列表错误跟踪发送问题和补丁......但是bug跟踪器的开发和使用是矛盾的.
我有类似的东西
src/sim/simulate.cc
41d40
< #include "mem/mem-interface.h"
90,91d88
< dram_print_stats_common(curTick/500);
<
src/mem/physical.hh
52d51
< public:
55,56d53
< public:
<
58a56,57
> public:
>
61,62c60,61
< virtual bool recvTiming(PacketPtr pkt); //baoyg
<
---
Run Code Online (Sandbox Code Playgroud)
我相信这是使用源树中的diff命令创建的.我想要的是使用该输出创建补丁,并将相同的更改应用于我的源树.