我正在为一个有两个方法methodA,methodB的类编写JUnit Test案例.我想在我的测试用例中模拟从methodA调用methodB我在我正在测试的类上使用spy,但仍然执行了methodB.
这是班级
public class SomeClass
{
public Object methodA(Object object)
{
object=methodB(object);
return object;
}
public Object methodB(Object object)
{
//do somthing
return object;
}
}
Run Code Online (Sandbox Code Playgroud)
这是测试类
@RunWith( org.powermock.modules.junit4.legacy.PowerMockRunner.class )
@PrepareForTest(SomeClass.class)
public class SomeClassTest {
private SomeClass var = null;
@Before
public void setUp() {
var=new SomeClass();
}
@After
public void tearDown()
{
var= null;
}
@Test
public void testMethodA_1()
throws Exception {
Object object =new Object();
SomeClass spy_var=PowerMockito.spy(var);
PowerMockito.when(spy_var.methodB(object)).thenReturn(object);
Object result = var.methodA(object);
assertNotNull(result);
}
}
Run Code Online (Sandbox Code Playgroud)
虽然我已经模拟了它,但方法B仍然可以调用它.但是PLease建议我使用适当的方法来模拟同一类的methodA中的methodB调用.
在发言之前,我读到它提出了建议,但仍然导致错误.看看简短的代码:
function IndexController($scope, $route, $routeParams, $location){
$scope.sfv = project.version.name;
}
angular.module("TkwebMobile", ['ngRoute', 'ngCookies'])
.controller('IndexController', ['$scope', '$route', '$routeParams', '$location', IndexController]);
Run Code Online (Sandbox Code Playgroud)
只有这个和错误仍然存在.我正在使用grunt来"uglify",而且我也使用"concat"将代码统一在"lib"中.甚至我在Angular文档中使用了"注入".
Uncaught Error: [$injector:modulerr] Failed to instantiate module TkwebMobile due to:
Error: [$injector:unpr] Unknown provider: a
Run Code Online (Sandbox Code Playgroud)
这是grunt concat的问题吗?(咕噜-的contrib-的concat)
我正在模仿John Papa在Gulp上出色的Pluralsight课程的代码.
当我使用John的课程中显示的代码时:
.pipe(jsFilter)
.pipe($.uglify())
.pipe(jsFilter.restore())
Run Code Online (Sandbox Code Playgroud)
我在第3行代码上遇到错误:
TypeError: Object #<StreamFilter> has no method 'restore'
Run Code Online (Sandbox Code Playgroud)
当我使用gulp-filter自述文件中显示的代码时
.pipe(jsFilter)
.pipe($.uglify())
.pipe(jsFilter.restore)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,它不能管道到未定义.
根据我在网上找到的内容,这两种模式都适用于其他模式.关于为什么会发生这种情况的任何线索?
这是整个任务,如果这有帮助,并且控制台日志记录指示在过滤器恢复调用之前一切正常.
如果有帮助,这是整个任务:
gulp.task('build-dist', ['inject', 'templatecache'], function() {
log('Building the distribution files in the /dist folder');
var assets = $.useref.assets({searchPath: './'});
var templateCache = config.temp + config.templateCache.file;
var jsFilter = $.filter('**/*.js');
return gulp
.src(config.index)
.pipe($.plumber({errorHandler: onError}))
.pipe($.inject(gulp.src(templateCache, {read: false}), {
starttag: '<!-- inject:templates:js -->'
}))
.pipe(assets)
.pipe(jsFilter)
.pipe($.uglify())
.pipe(jsFilter.restore())
.pipe(assets.restore())
.pipe($.useref())
.pipe(gulp.dest(config.dist));
});
Run Code Online (Sandbox Code Playgroud) 我有AWS EC2实例.我使用的是filezilla 3.8.0,但我无法连接实例,filezilla不接受帐户类型正常和询问密码.当我输入用户名ubunbu和密码空白时,我收到以下消息:
已断开连接:没有可用的支持身份验证方法(服务器已发送:publickey)
我也插入了pem键并转换了ppk键.我的员工可以联系,但我不能.怎么了?
谢谢
我正在尝试显示已存储在服务器上的图像.我使用以下代码在dropzone中显示:
myDropzone.emit("addedfile", mockFile);
myDropzone.emit("thumbnail", mockFile, "url/image");
Run Code Online (Sandbox Code Playgroud)
但是如果出现问题,生成的缩略图只会将大小缩小为指定的thumnail大小而不会裁剪.
问题是当我调用功能缩略图图像失真时,没有完成裁剪图像.
可以使用现有方法生成临时缩略图并将其发送到缩略图函数调用中吗?
我想知道如何向Lumen中的路由添加查询参数
这是我创建的路线的一个例子
$app->get('/product/{apikey}','ProductController@getProduct');
Run Code Online (Sandbox Code Playgroud)
这在我使用时有效
但我想像这样使用它
我试过这个
$app->get('/product/?apikey={apikey}','ProductController@getProduct');
Run Code Online (Sandbox Code Playgroud)
但这给了我MethodNotAllowedHttpException
我想知道如何在Lumen中使用查询参数编写路由?
我正在使用angular-translate为我的应用程序提供i18n,我能够正确翻译标签,按钮文本等.我面临的问题是当我尝试根据所选语言区域设置更改日期时.日期从日期选择器中选择.
日期被选入输入元素:
<input type="text" class="form-control" required="" ng-model="date" placeholder="{{ 'DATE_PLACEHOLDER' | translate }}" translate="{{ 'select_date'|translate:{date:date} }}"/>
Run Code Online (Sandbox Code Playgroud)
占位符转换工作正常,但是当我更改语言时,日期格式没有发生变化.我创建了一个描述当前场景的plunkr.
请建议一种方法,我可以在其中翻译插入的值或表单中的文本.此外,我想知道如何在加载页面之前克服键值的闪烁.
我正在使用react-native-fs从服务器下载文件并保存它们。下载后,我将使用react-native-file-viewer打开它们。这个过程完全正常:我可以在查看器中下载并打开它,但我无法从查看器中将文件保存在文件应用程序中,尽管我可以保存在 iCloud 中但不能保存在 iPhone 中。下载的文件存储在类似的地方
/var/mobile/Containers/Data/Application/CCF6CD16-A62A-48BB-92F3-3021195CFE0C/Documents/react-native-pdf.pdf
Run Code Online (Sandbox Code Playgroud)
但这没有显示在“文件”应用程序中。
我用来下载和查看文件的代码如下
RNFS.downloadFile({
fromUrl: 'http://www.mywebsite.com/react-native-pdfurl.pdf',
toFile: `${RNFS.DocumentDirectoryPath}/react-native-pdfurl.pdf`,
}).promise.then((r) => {
console.log('yo yo yo ');
this.setState({ isDone: true });
const path = `${RNFS.DocumentDirectoryPath}/react-native-pdfurl.pdf`;
FileViewer.open(path)
.then(() => {
// success
})
.catch(error => {
// error
});
RNFS.readDir(RNFS.DocumentDirectoryPath).then(files => {
console.log(files);
})
.catch(err => {
console.log(err.message, err.code);
});
});
Run Code Online (Sandbox Code Playgroud)
readDir 获取保存的文件的名称路径。但这并没有反映在“文件”应用程序中的任何文件夹中。我的问题是如何以文件应用程序中显示的方式保存文件。
我无法更改dropzone上传器的默认文本.尽管事实上我已经像这样初始化它,它仍然呈现默认文本:
Dropzone.options.imgUpload = {
paramName: "file", // Must match the name of the HttpPostedFileBase argument that the Upload action expects.
dictDefaultMessage: "Drag your image here",
acceptedFiles: "image/*" // Accept images only
};
Run Code Online (Sandbox Code Playgroud)
还尝试更改dropzone.js中设置的dictDefaultMessage,但没有运气:(顺便说一下;我应该使用两者还是删除其中一个?
有什么建议?
我正在使用Angular-i18n。我的页面是这样的:
<div translate="main.logged.message" translate-values="{username: '{{account.login}}'}">
Run Code Online (Sandbox Code Playgroud)
我想将 font-familyLato用于英文和Microsoft Yahei中文。
我试过了:
:lang(zh) {
font-family: 'Microsoft Yahei';
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。还检查了文档:http : //angular-translate.github.io/docs/#/guide。我找不到解决方案。
如何制作?
更新:
我发现了一个帖子http://yukikodesign.com/orangutangy/?p=191,说:
首先指定英文字体,然后是字体列表中的中文字体。这使得英文字体使用您想要的字体呈现,然后中文字体接收其他字符。
就像是: font-family: "Lato", "Microsoft Yahei";
令人惊讶的是,它有效!但这似乎不是一个通用的解决方案。还有更好的吗?
angularjs ×3
javascript ×3
dropzone.js ×2
amazon-ec2 ×1
datepicker ×1
filezilla ×1
gulp-filter ×1
image ×1
ios ×1
iphone ×1
java ×1
junit ×1
lumen ×1
minify ×1
mockito ×1
react-native ×1
unit-testing ×1