交易在某些测试中不起作用

时间:2016-05-30 09:48:04

标签: php mysql unit-testing laravel laravel-5

我正在使用Laravel 5.2和phpunit,我正在为我的应用程序编写一些测试。直到现在我没有问题,今天我遇到了一些奇怪的东西,我找不到办法来处理它。

我的一些测试文件并没有使用交易,尽管其他人也没有。

我在我的TestCase类中使用var spaceplane = []; var spaceMaterial = new THREE.MeshBasicMaterial(); spaceMaterial.side = THREE.BackSide; var meshSpace = new THREE.Mesh( new THREE.IcosahedronGeometry( 1000000, 1 ) , spaceMaterial ); meshSpace.rotation.order = 'XZY'; spaceplane.push( meshSpace ); //// add to the scene of course //////////////// selection on mouse click etc... var raycaster = new THREE.Raycaster(); raycaster.setFromCamera( mouse, camera ); var intersects = raycaster.intersectObjects( spaceplane, true ); if ( intersects.length > 0 ) { /// here you have intersection } ,并在我得到的每个测试文件中都进行了扩展。

我的大多数测试都没有任何麻烦,但其中一些没有。

这是一个可以解决任何问题的方法:

use DatabaseTransactions;

这个有麻烦的人:

class V2LikeTest extends TestCase {

        protected $appToken;
        protected $headers;    

        public function setUp() {
            parent::setUp();
            $this->generateTopic(1);

        }

        /** LIKE TOPICS */
        /** @test */
        public function it_likes_a_topic() {
            $job = new ToggleLikeJob(Topic::first());
            $job->handle();

            $topic = Topic::first();
            $this->assertTrue($topic->present()->isLiked);
            $this->assertEquals(1, $topic->nb_likes);
        }
    }

现在已经有一段时间了,我正在寻找解决方案但却无法找到解决方案。有人已经遇到了这个麻烦吗?

编辑:GenerateTopic函数使用generateCompany以防万一;)

0 个答案:

没有答案