Code files required after test executed

19 views
Skip to first unread message

gregferguson

unread,
Nov 25, 2011, 3:38:21 PM11/25/11
to Evergreen
I've created simple jasmine test on coffee script:
require('/assets/match_player.js')
describe('match player', ->
player = new MatchPlayer {
name: "John"
apeName: "user2"
result: 2
answered: 3
time: 22
answers: [1,0,1]
best: 2
final: 5
team_name: "team2"
}

it('should have name', ->
expect(player.name).toEqual("John")
)
)

But test is failed because match_player file included on the page
after test executed. It's easy to debug - when I'm doing
console.log(MatchPlayer) in the test - undefined shown when page
restarted. But after page is loaded - MatchPlayer is defined and works
correctly (trying via console).
I'm feeling that I'm missing something basic here, please, let me know
how to fix this.
Thanks in advance

Abe Petrillo

unread,
Nov 26, 2011, 11:35:27 AM11/26/11
to ruby-ev...@googlegroups.com
Try putting the player deinition in a beforeEach() ie...

describe("match player", function(){
  beforeEach(function(){

   player = new MatchPlayer {
   name:      "John"
   apeName:   "user2"
   result:    2
   answered:  3
   time:      22
   answers:   [1,0,1]
   best:      2
   final:     5
   team_name: "team2"
   }
  });
it("shoud have name",function(){
//your test
})
})

gregferguson

unread,
Nov 26, 2011, 4:08:32 PM11/26/11
to Evergreen
The same error - MatchPlayer is still undefined even in the beforeEach
block

gregferguson

unread,
Nov 28, 2011, 2:49:31 AM11/28/11
to Evergreen
Is there any working example of rails app with evergreen and jasmine
test that requires javascript file?

gregferguson

unread,
Nov 28, 2011, 8:34:51 AM11/28/11
to Evergreen
I've linked scripts before the spec block (manually in evergreen gem
in runner.erb) and now everything works.
So it's definitely a problem with scripts order on the page.
Evergreen require method use just document.write to added <script>
tag, but at the time when spec executed scripts are not loaded yet.

Abe Petrillo

unread,
Nov 28, 2011, 11:44:33 AM11/28/11
to ruby-ev...@googlegroups.com
Can you not require the file in the SpecHelper.js? The helper requires definately run before the test. Sorry I can't suggest anything else :/

gregferguson

unread,
Nov 28, 2011, 11:47:25 AM11/28/11
to Evergreen
It's seems like a known problem, I've added a issue on github
https://github.com/jnicklas/evergreen/issues/40#issuecomment-2899972
Reply all
Reply to author
Forward
0 new messages