私の考えは、それを排除し、その後のテストでファイルを作成することですが、私のコードはAlfrescoで。テスト用の一時ファイルを作成するにはどうすればよいですか?
私のコードを失敗:
@RunWith(RemoteTestRunner.class)
@Remote(runnerClass=SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:alfresco/application-context.xml")
public class FooTest {
private static final String ADMIN_USER_NAME = "admin";
@Autowired
@Qualifier("NodeService")
protected NodeService nodeService;
@Autowired
private FileFolderService fileFolderService;
@Autowired
protected Repository repositoryHelper;
@Test
public void testCreateTempFile() {
AuthenticationUtil.setFullyAuthenticatedUser(ADMIN_USER_NAME);
NodeRef root = repositoryHelper.getSharedHome();
// create the node
// this line throw an exception
FileInfo fileInfo = fileFolderService.create(root,
"foo.txt", ContentModel.PROP_CONTENT);
...
}
}
それは、次のエラーが表示されます。
org.alfresco.error.AlfrescoRuntimeException: 07170002 Transaction must be active and synchronization is required: Thread[main,5,main] at org.alfresco.util.transaction.TransactionSupportUtil.registerSynchronizations(TransactionSupportUtil.java:188)
どのように取引作業?どのように私はそれを活性化できますか?
でも、@Transactionalアノテーションを使用することができます(少ないコード行数)。これが私のやり方です。 – Akah
それは同じですか?私は明日お試しになります、同じ場合は、私はあなたに答えを与えるでしょう – Troncador
私に答えを与える必要はありません。しかし、はい、私はテストケースでSpringのトランザクションアノテーションを使用しています。私はそれをチェックするために削除し、あなたと同じスタックトレースを持っていた。 – Akah