Comments (13)
this.inject.service
is only available in tests, and injects the instance of service:i18n
into the test context (not the component(s) under test).
Your component would still need i18n: Ember.inject.service()
in it also.
from ember-test-helpers.
Use the service name only (not the type and the name):
this.inject.service('i18n')
from ember-test-helpers.
I'm sorry, I actually was using this.inject.service('i18n')
and filed the issue with the code after a small edit. But this.inject.service('i18n')
doesn't inject it either.
from ember-test-helpers.
Hmm. It should be working. Can you make a demo repo that I can use to track down the issue your are seeing?
from ember-test-helpers.
@rwjblue To clarify, this.inject.service('i18n')
should inject i18n
into the component itself, so from the component this.get('i18n)
would be the service, correct?
from ember-test-helpers.
That was my problem then--a misunderstanding. I have an application injection inject i18n
into all components, is there no way to inject it at test time?
from ember-test-helpers.
initializers do not run in integration tests, I suppose in general you could import the initializer function and call it from your setup/beforeEach block, but that seems much less useful.
I find using foo: Ember.inject.service()
in my components to be much better than attempting to globally inject things into all components for a couple reasons:
- The previously mentioned issue with integration tests.
- A large percentage of the time, you do not actually need all services in all components.
- Declaring
foo: Ember.inject.service()
inside your component definition makes it super clear where this magicalfoo
property is coming from.
from ember-test-helpers.
I'm going to close this, as I believe we are now on the same page
from ember-test-helpers.
Yep, not a bug. Thanks @rwjblue
from ember-test-helpers.
For posterity, another alternative is passing in the service when you call render. E.g.
this.render(hbs
{{provider-options i18n=i18n}});
from ember-test-helpers.
Yep
from ember-test-helpers.
Though I personally prefer to test the actual template invocation that will be used.
from ember-test-helpers.
Yeah, I think I prefer just injecting it manually. I'm all for self-documenting code, and doing this in 1 line versus 2 in every test is a no brainer.
from ember-test-helpers.
Related Issues (20)
- Missing types for @glimmer/interfaces HOT 3
- element doesn't exist on type TestContext HOT 2
- Property 'element' does not exist on type 'TestContext'. ? HOT 2
- `find` and `findAll` examples are swapped
- Cannot find type definition file for 'ember__test-helpers' after upgrading to v2.9.3 HOT 2
- Regression with `find()` generic type HOT 1
- Rethinking helpers for forms input HOT 2
- Observers not triggered in ember acceptance tests
- [proposal] add hooks support to all dom helpers + settled and wait-until
- Upgrade `registerHook` and `runHooks` as official public APIs HOT 4
- `fillIn` does not work with input values that are decorated with the `readonly` helper HOT 1
- [feature request] pass more information back in error scenarios
- `scrollTo` target type inconsistent with other test helpers
- Setup context fails when using ember-data v4 and a custom resolver
- Allow `waitUntil` to accept a callback that returns a promise HOT 1
- Types missing from version 3 HOT 4
- Anomalies in current published version compared to previous versions HOT 5
- Allow Ember v5
- needed infra maintainence
- 3.2.0 Missing `lookup` and `register` on `Owner` type definition HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-test-helpers.