我正试图在Android Studio 0.9中分离出集成测试.
我已将以下内容添加到构建文件中:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
Run Code Online (Sandbox Code Playgroud)
我遇到了几个问题:
该任务将运行,但它没有其他项目文件可用,所以我得到有关缺少类的错误.我发现了一些Java特定的解决方案,例如:
但我还没弄清楚如何使用Android Studio.各种各样的main和main.output依赖的组合似乎不起作用,我得到的错误如下:
Error:(33, 0) Could not find property 'main' on SourceSet container..
Run Code Online (Sandbox Code Playgroud)
这有意义,因为android插件定义了自己的源集,但这些也不起作用.
IDE无法将该目录识别为测试源目录.出于测试目的,我将源集名称更改为androidTest并正确获取绿色文件夹图标,并且测试与已定义的现有单元测试一起运行androidTest.
android integration-testing unit-testing gradle android-studio
我们已经注意到,当设备记住Wifi Direct组时,有时会在以后重新连接设备时导致问题.删除记住的组似乎解决了这个问题.
如果我们可以在应用程序中执行此操作会很好,这可能吗?
简单地调用WifiP2pManager.removeGroup()不会阻止设备记住它们.

我已经设置了几个Memcached服务器用作PHP会话存储,但是尽管尝试了各种设置,但我无法让会话密钥出现在两个服务器中.
我的php.ini如下:
session.save_handler = memcached
session.save_path = "192.168.134.38:11211,192.168.134.234:11211"
Run Code Online (Sandbox Code Playgroud)
我的memcached.ini是以下变体:
extension=memcached.so
memcached.sess_consistent_hash=1
memcached.sess_number_of_replicas=1
memcached.sess_binary=1
Run Code Online (Sandbox Code Playgroud)
如果我使用-vv运行memcached,我可以看到键被写入第一台服务器:
<30 new auto-negotiating client connection
30: Client using the binary protocol
<30 Read binary protocol data:
<30 0x80 0x0c 0x00 0x28
<30 0x00 0x00 0x00 0x00
<30 0x00 0x00 0x00 0x28
<30 0x00 0x00 0x00 0x00
<30 0x00 0x00 0x00 0x00
<30 0x00 0x00 0x00 0x00
<30 GET memc.sess.key.9bn8cdu9c1j7ko1tmflgr433k1
>30 Writing bin response:
>30 0x81 0x0c 0x00 0x28
>30 0x04 0x00 0x00 0x00
>30 0x00 0x00 …Run Code Online (Sandbox Code Playgroud)