While writing UI unit tests, I realized that the grid doesn’t update the item object when I make changes to it. If I try to change the name of this grid object with test().setValue(), only the first action is successful. The second change is successful in the application, where i use the same database as in test, and the database, but the Grid still has the old object.
Have you in implemented equals and hashCode on the class you use as the grid items
That sounds like odd test scenario to me. You can obtain the cell value from a row using GridTester, but the purpose of that is usually to read the data and assert that the data is correct. You can naturally update the bean properties using their setters, but if you do so, you need to do the same as you do with business logic, i.e. using dataProvider.refreshItem(…) to update the Grid. But this is not something end user will do, so that makes me think that you are doing something wrong here.