我正在使用最新的Android Studio,今天我的Mac崩溃了.重新启动后,我打开了Android Studio,现在我的所有项目都没有找到Android URI错误.他们不会建造,也不会建造,什么也不会.如果我创建一个新项目,Android项目不是我的选项之一,只是所有其他选项.除了删除并重新安装之外,还有什么可以做的吗?
我使用以下测试作为示例来展示我遇到的类似问题。我认为这只是我对 SpockFramework 中全局模拟如何工作的误解。
void "test"() {
when:
TestStage stage = new TestStage("John")
GroovyMock(TestStep.class, global: true) {
getName() >> "Joe"
}
then:
stage.run() == "Joe"
}
Run Code Online (Sandbox Code Playgroud)
此测试应创建一个提供默认名称的测试阶段。但随后我在其中创建一个类的全局模拟TestStage以覆盖返回值。TestStageIE:我只是想测试not的功能TestStep。如果TestStep只进行更改,我不想知道它们,我将单独测试它们。但是,当我运行此测试时,全局模拟似乎永远不会生效"John",因为返回的名称仍然是我最初提供的名称。
stage.run() == "Joe"
| | |
| John false
Run Code Online (Sandbox Code Playgroud)
这是用于测试这一点的两个示例类。
class TestStage {
TestStep step
TestStage(String name) {
this.step = new TestStep(name)
}
String run() {
return step.getName()
}
}
Run Code Online (Sandbox Code Playgroud)
class TestStep {
private String name
TestStep(String name) {
this.name = name
}
String …Run Code Online (Sandbox Code Playgroud) 在下面的代码中,RegSetValueEx只写我的字符串的第一个字母.我已经尝试将尺寸改为我能想到的任何东西,而且我只得到第一个字符串.任何帮助表示赞赏.
LPCWSTR path = L"Test String";
size_t size = wclsen(path) * sizeof(wchar_t);
DWORD dwResult = RegSetValueEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\My App",
0,
REG_SZ,
(LPBYTE)path,
test);
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用path.size()*sizeof(wchar_t)以及我能想到的任何其他大小,但似乎没有什么工作正常.有任何想法吗?