我有一个嵌入Google网站页面的Google Apps脚本小工具.我想传递一个小工具页面参数,这样当用URL打开页面时:
https://sites.google.com/a/mydomain/mysite/mypage?myparameter=1
我可以在Apps Script小工具代码中访问page参数的值,如下所示:
function doGet(e) {
var app = UiApp.createApplication();
app.add(app.loadComponent("MyComponent"));
var myparam = e.parameter.myparameter;
return app;
}
Run Code Online (Sandbox Code Playgroud)
目前,e.parameter.myparameter的值将返回null.有没有办法设置我的Apps脚本来支持这个?欢迎任何方法.
我是Spring的新手,我正在使用一套针对Web应用程序的JUnit 4.7集成测试.我有一些工作测试用例的形式:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/META-INF/spring/testContext.xml" })
public class myTest {
@Test
public void testCreate() {
//execute tests
....
}
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序有许多我正在测试的外部依赖项,所有这些都有通过加载testContext.xml初始化的bean .其中一些外部依赖项需要自定义代码来初始化和拆除必要的资源.
我不想在每个需要它的测试类中复制此代码,而是将其封装到一个公共位置.我的想法是创建一个单独的上下文定义以及一个自定义运行器,它扩展SpringJUnit4ClassRunner并包含@ContextConfiguration注释和相关的自定义代码,如下所示:
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.Statement;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
//load the context applicable to this runner
@ContextConfiguration(locations = { "/META-INF/spring/testContext.xml" })
public class MyCustomRunner extends SpringJUnit4ClassRunner {
public MyCustomRunner(Class<?> clazz) throws InitializationError {
super(clazz);
}
@Override
protected Statement withBeforeClasses(Statement statement) {
// …Run Code Online (Sandbox Code Playgroud) 我最近继承了一些Java代码,需要将它集成到我正在处理的项目中.我的项目是一个处理和转换XML消息的服务代理.在查看新代码时,我发现了以下日志记录类:
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class MyLogger {
private static MyLogger instance = null;
protected final static Logger log = Logger.getLogger(MyLogger.class);
private MyLogger() {
super();
}
public static MyLogger getInstance(){
if(instance == null){
instance = new MyLogger();
BasicConfigurator.configure();
log.setLevel(Level.ALL);
}
return instance;
}
public void info(String myclass, String msg) {
log.info("[" + myclass + "] " + msg);
}
public void error(String myclass, String msg, Exception ce) {
log.error("[" + myclass + "] " + msg, ce); …Run Code Online (Sandbox Code Playgroud) 我正在使用Rational Team Concert(RTC)IDE和Jazz构建引擎为Spring Roo应用程序建立持续集成构建.设置构建定义时,Jazz Source Control选项卡上的Build Workspace字段允许选择用户的存储库工作空间或流.
该RTC持续集成最佳实践和其他爵士建设资源始终是指使用与构建用户相关联的专用存储库工作区,导致我相信这是首选的方法.我无法直接从流中找到有关构建的任何信息.我们项目的流包含构建所需的所有工件,我已经测试并确认了持续集成构建从流中工作.我无法想到为什么我需要为此目的创建和管理特定的工作空间.
我的问题是,我是通过直接建立在溪流旁边玩火吗?我不知道这种方法是否存在潜在的下游并发症?