파이어베이스 3 업데이트 전에 우리의 수락 테스트가 아무런 문제없이 실행되었습니다. 우리는 시험에 대한 고정 우리 beforeTest 및 afterTest엠버/엠버 파이어 + 파이어베이스 3 수락 테스트
moduleForAcceptance('Acceptance | Dashboard | Items | Library | New', {
beforeEach() {
stubFirebase();
var ref = createOfflineRef(basicDataRef, 'https://MY-APP.firebaseio.com');
replaceAppRef(this.application, ref);
stubValidSession(this.application, {uid: 'xxxx'});
},
afterEach() {
unstubFirebase();
}
});
basicDataRef에 다음 사용합니다. 위의 코드는 도리 라이브러리의 테스트 도우미에 따라 세션을 모의 실행하여 내 응용 프로그램이 내 firebase hieararchy가 필요한 데이터를 올바르게 얻을 수 있도록합니다. / + - uid + - profile + otherdata
권한 규칙을 테스트하지 않고 응용 프로그램에서 데이터를 저장/편집하기위한 상호 작용 만 수행 중이며이 작업은 firebase 3 이전 이전에 정상적으로 수행되었습니다. 버전 3 후 내 모든 테스트는 다음 반환
actual: >
false
expected: >
true
stack: >
at http://localhost:7357/assets/test-support.js:4130:12
at exports.default._emberTestingAdaptersAdapter.default.extend.exception (http://localhost:7357/assets/vendor.js:49473:7)
at onerrorDefault (http://localhost:7357/assets/vendor.js:41461:24)
at Object.exports.default.trigger (http://localhost:7357/assets/vendor.js:62212:11)
at http://localhost:7357/assets/vendor.js:63463:40
at Queue.invoke (http://localhost:7357/assets/vendor.js:10415:16)
message: >
Error: permission_denied at /xxxx/profile: Client doesn't have permission to access the desired data.
나는 항상 확인 규칙을 우회 할 수있게 해준다 emberfire에 createOfflineRef 생각했다. permission_denied가 계속 반환된다는 사실은 상당히 혼란 스럽습니다. 테스트를 다시해야할까요? 아니면이 모든 시간에 잘못이 접근합니까? 모든 입력이 크게 평가됩니다
교육용 추측 : 새로운 Firebase 콘솔 (firebse.google.com)에서 프로젝트를 만들었습니까? 이 경우 새 데이터베이스의 보안 규칙이 이전 프로젝트와 다릅니다. https://firebase.google.com/docs/database/android/save-data의 첫 번째 파란색 상자를 참조하십시오. –
예 프로젝트를 새 콘솔로 마이그레이션했습니다. 마이그레이션 된 프로젝트에서 v2 인터페이스를 사용하더라도 테스트가 제대로 실행됩니다. 그러나 우리는 firebase의 새로운 스토리지 기능을 사용하고자하므로 v3으로 마이그레이션해야합니다. 나는 주변을 파고 들었고 오류가 replaceAppRef와 관련이 있다고 생각합니다. 모든 인스턴스에서 참조를 바꾸지는 않지만 잘못된 것일 수 있습니다. – malatasf