fai due script di prova, in uno fai una cosa del genere:

- apri la connessione al database

- fai il lock della tabella che ti interessa

- metti uno sleep di qualche decina di secondi per simulare un'operazione pesante

- togli il lock


e poi fai un secondo script che esegue un'operazione di interesse sulla tabella con il lock dello script 1

a questo punto esegui a mano prima lo script 1 e poi lo script 2 e vedi che succede

in phpunit non saprei bene di preciso, ti basterebbe penso essere sicuro di usare due oggetti connessione (e quindi due sessioni mysql) differenti per eseguire i test, assicurandoti di lanciare il primo script (quello con lo sleep) in background e il secondo normalmente eseguito dal test


cmq ti assicuro che il lock di mysql, quelli di mysql, lo hanno implementato bene. Se vuoi testare il comportamento del tuo applicativo quando incorre nel "attenzione! non posso scrivere perchè la tabella ha il lock", non è questa la strada giusta, si usano i mock per simulare il comportamento dei componenti