Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by thomsmells · May 30, 2016 at 10:09 PM · movementscript.testing

Integration tests fail on 'Run All'

I have a selection of three integration tests on my scene. When running the tests individually, each of these pass. However, when I choose 'Run All', two of these tests fail.

The tests that are failing are the ones with a script to call a 'Move' method on the player object, moving the player to the right.

Does anyone know what might cause testing to fail when run together?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Pau1 · Jun 17, 2016 at 03:57 PM

I had the exact same problem. It didn't seem to be a problem of my making with shared states. I was able to solve it by slowing the test down.

I was doing the move right at the beginning of the test then the assertion component was checking right after in the FixedUpdate method. I changed it so the move happened 0.5seconds into the test, and the assertion component set to check after 1 second.

This seemed to fix my issue- seems like it could be a problem with the framework potentially.

How were your tests failing? Were they odd Null reference exceptions?

I've also noticed view weird behaviour if I duplicate tests to make more- the test components seem linked somehow in weird undefined ways, so that's something to check also- try creating the problem tests from scratch if you duplicated them to create them initially.

EDIT: I think I've found a more concrete cause of this. It seems that tests carry on in the background even after they've passed. If that test happens to hit a failing condition it will fail the test that's currently running. I was trying to debug why a test was failing when I realised the call to IntegrationTest.Fail belonged to a game object, whose root test component was for an already completed and passed test! This makes it really awkward but I was able to fix it with an if (transform.root.gameObject.activeSelf) around the failing condition. I hope this is able to help someone.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by dugsteen · Feb 26, 2017 at 01:01 PM

I had the same problem, but it wasn't that the tests were running in the background so much as it was that I had failed to clean up after myself. For example, one of my tests checks for the existence of an object I've created, expecting to find just one object. When the assertion component performs the check, the test passes and the test runner moves on to the next test, which also expects just one object. However, the scene wasn't cleaned up at that point -- my original test object still existed and the test found two.

Since the test runner enables the TestComponent game object before starting a test and disables it before finishing, my solution was to do a full-scale tear down / clean up on the OnDisable call. (I also do set up on the OnEnable call, but that's just to make it all symmetric really.) That seems to have worked.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Help Improve movement script 2 Answers

How do I build up speed while wallrunning? 1 Answer

How do I modify this to move the camera at the same time the player is moving? 3 Answers

Rare problem to moving an object using script+animation 0 Answers

Why is this code not making my 2D sprite move? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges