我正在使用robolectric使我的android单元测试足够快,有用.我想测试我编写的代码,同时屏幕方向正在改变以模拟一个常见的现实世界用例.
具体来说,我正在测试的是对服务器的异步http调用,在获取结果后解析了一些xml.我对所有工作得很好的单元测试,但无法弄清楚如何模拟屏幕旋转.导致活动重新创建的任何状态更改都很好,它不一定必须是屏幕旋转.
使用模拟器的解决方案不是一个选项,因为我每分钟运行几次测试,它们必须在2秒内运行.如果可能的话,我也希望这能与roboguice合作.
谢谢.
我正在尝试在java中实现async http.这是代码的重要部分:
for (String urlString : urls)
{
// TODO: try and get rid of these two heap allocations
url = new URL(urlString);
request = new HTTPRequest(url);
request.addHeader(userAgentHeader);
request.addHeader(authorizationHeader);
request.addHeader(acceptEncodingHeader);
request.addHeader(acceptCharsetHeader);
responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques t));
apiCallsMade++;
}
for (Future<HTTPResponse> futureResponse : responses)
{
parseResponse(new String(futureResponse.get().getContent()));
}
Run Code Online (Sandbox Code Playgroud)
我一直收到这个错误:
com.google.apphosting.api.ApiProxy $ CallNotFoundException:找不到API包'urlfetch'或调用'Fetch()'.
我环顾四周寻找类路径中缺少的任何罐子,但没有看到任何遗漏.你知道代码是哪个jar吗?我搜索了这个错误并搜索了这个组但没有发现任何内容.谢谢,大卫
在模拟器和我的galaxy nexus设备上,这个简单的演示应用程序需要整整1000毫秒或更长时间来选择或取消选中复选框.我想用javascript写我的大部分应用程序,所以我可以重用ios/android/web上的代码,但这是一个交易破坏者.
这是我的代码:
(活动)
package com.mycompanyname;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.webkit.ConsoleMessage;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.mycompanyname.R;
public class JavascriptListViewTestActivity extends Activity {
private JavascriptListViewTestActivity parent = this;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebChromeClient chrome = new WebChromeClient() {
@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
parent.showDialog(consoleMessage.message() + "\n" + consoleMessage.lineNumber());
return true;
}
};
WebViewClient client = new WebViewClient() { …Run Code Online (Sandbox Code Playgroud) 我想使用无服务器,react-router,lambda,api网关和cloudflare对反应组件进行通用渲染.您将如何将api网关端点URL映射到以与cloudflare兼容的方式在aws lambda函数内运行的反应路由器的服务器端实例?
我发现了一个有趣的hack /方法来使用cloudfront(http://highscalability.com/blog/2015/12/7/the-serverless-start-up-down-with-servers.html),但我会更喜欢使用cloudflare来降低成本和ddos攻击的原因.
谢谢!
cloudflare react-router aws-lambda aws-api-gateway serverless-framework
我很好奇这是否有可能在余烬中.这是一个很容易做的角度(plunkr:http://plnkr.co/edit/O2e0ukyXdKMs4FcgKGmX?p = preview ):
目标是为api消费者提供易于使用,通用,可重复使用的手风琴api.
我希望调用者能够使用的api就是这个(就像角度api一样):
{{#ember-accordion listOfAccordionPaneObjects=model}}
{{#ember-accordion-heading}}
heading template html {{accordionPaneObject.firstName}}
{{/ember-accordion-heading}}
{{#ember-accordion-body}}
this is the accordion body {{accordionPaneObject.lastName}}
{{/ember-accordion-body}}
{{/ember-accordion}}
Run Code Online (Sandbox Code Playgroud)
这是我用angular写的一个工作示例:
<!doctype html>
<html ng-app="angular-accordion">
<head>
<style>
.angular-accordion-header {
background-color: #999;
color: #ffffff;
padding: 10px;
margin: 0;
line-height: 14px;
-webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 5px;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 5px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
cursor: pointer;
text-decoration: none;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
}
.angular-accordion-container {
height: 100%;
width: 100%;
}
.angular-accordion-pane {
padding: 2px; …Run Code Online (Sandbox Code Playgroud) 一个非常聪明的工作人员告诉我,尝试不抛出的捕获会影响拥有数百万用户的网站的性能.基于发布的单元测试表明性能相同,我想知道这是否与操作系统级别和/或Web服务器特定情况有关.例如,Web服务器的异步工作实现发生在子进程而不是线程上.
谁知道?
我想看到的是一个php profiler的输出,显示实际使用的cpu时间.
jmucchiello对php中try-catch性能的评论很有意思,但不测量使用的cpu时间.
谢谢,大卫
android ×2
performance ×2
api ×1
aws-lambda ×1
cloudflare ×1
components ×1
declarative ×1
dom ×1
ember.js ×1
http ×1
java ×1
php ×1
react-router ×1
robolectric ×1
transclusion ×1
unit-testing ×1
webview ×1